aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/LiveRegUnits.h
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 19:44:49 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 19:44:49 +0800
commitb91913184946e8381dc2d632ce37563913d5ce5f (patch)
tree5ab382b56dd7d728e41f23bb3de23939e69ec3be /backend/include/rcc/CodeGen/LiveRegUnits.h
parentb1c08d57f1637f5ee813d1409dacdfa88c1509a0 (diff)
downloadrcc-project-b91913184946e8381dc2d632ce37563913d5ce5f.tar.gz
rcc-project-b91913184946e8381dc2d632ce37563913d5ce5f.tar.xz
[RISCV] Complete Zcmp frame lowering and optimization
Diffstat (limited to 'backend/include/rcc/CodeGen/LiveRegUnits.h')
-rw-r--r--backend/include/rcc/CodeGen/LiveRegUnits.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/backend/include/rcc/CodeGen/LiveRegUnits.h b/backend/include/rcc/CodeGen/LiveRegUnits.h
index 6eb06a6..2e18bc9 100644
--- a/backend/include/rcc/CodeGen/LiveRegUnits.h
+++ b/backend/include/rcc/CodeGen/LiveRegUnits.h
@@ -38,6 +38,13 @@ public:
void unite(const LiveRegUnits &Other);
void subtract(const LiveRegUnits &Other);
+ [[nodiscard]] Expected<bool> available(PhysicalRegister Reg,
+ const TargetDescription &Target) const;
+ [[nodiscard]] static Expected<void> accumulateUsedDefed(const MachineInstr &Instruction,
+ LiveRegUnits &Modified,
+ LiveRegUnits &Used,
+ const TargetDescription &Target);
+
[[nodiscard]] const std::unordered_map<RegisterUnitID, LaneMask> &entries() const noexcept {
return Values;
}