diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 19:44:49 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 19:44:49 +0800 |
| commit | b91913184946e8381dc2d632ce37563913d5ce5f (patch) | |
| tree | 5ab382b56dd7d728e41f23bb3de23939e69ec3be /backend/include/rcc | |
| parent | b1c08d57f1637f5ee813d1409dacdfa88c1509a0 (diff) | |
| download | rcc-project-b91913184946e8381dc2d632ce37563913d5ce5f.tar.gz rcc-project-b91913184946e8381dc2d632ce37563913d5ce5f.tar.xz | |
[RISCV] Complete Zcmp frame lowering and optimization
Diffstat (limited to 'backend/include/rcc')
| -rw-r--r-- | backend/include/rcc/CodeGen/LiveRegUnits.h | 7 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineOptimizationPipeline.h | 2 |
2 files changed, 8 insertions, 1 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; } diff --git a/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h b/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h index f60bbda..c47fc48 100644 --- a/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h +++ b/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h @@ -46,7 +46,7 @@ addSelectedSSAOptimizationPipeline(MachineFunctionPassManager &Pipeline, [[nodiscard]] Expected<void> addPostRegisterAllocationPipeline( MachineFunctionPassManager &Pipeline, const MachineOptimizationPipelineTargetInfo &TargetInfo, MachineOptimizationPipelineOptions Options = {}, - std::unique_ptr<MachineFunctionPass> PostRAPseudoExpansionTargetPass = nullptr); + MachineFunctionPassManager::PassList PostRAPseudoExpansionTargetPasses = {}); } // namespace rcc |
