diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-13 02:43:59 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-13 02:43:59 +0800 |
| commit | d2cd152d658955a7fb64fb9a1329bc5bee4d8317 (patch) | |
| tree | 46dfc072d9ca368be98a22e34326a6130680bb36 /backend/lib/Target | |
| parent | 3341938bb644e6fc39afa6a8fcb1306604999e42 (diff) | |
| download | rcc-project-d2cd152d658955a7fb64fb9a1329bc5bee4d8317.tar.gz rcc-project-d2cd152d658955a7fb64fb9a1329bc5bee4d8317.tar.xz | |
[CodeGen] Split PHI elimination and two-address rewriting
Diffstat (limited to 'backend/lib/Target')
| -rw-r--r-- | backend/lib/Target/RISCV/RISCVPipeline.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/backend/lib/Target/RISCV/RISCVPipeline.cpp b/backend/lib/Target/RISCV/RISCVPipeline.cpp index 5212838..c5601ef 100644 --- a/backend/lib/Target/RISCV/RISCVPipeline.cpp +++ b/backend/lib/Target/RISCV/RISCVPipeline.cpp @@ -11,9 +11,10 @@ #include "rcc/CodeGen/MachineCombiner.h" #include "rcc/CodeGen/MachineFunction.h" #include "rcc/CodeGen/MachineOptimizationPipeline.h" -#include "rcc/CodeGen/MachineSSAExit.h" +#include "rcc/CodeGen/PHIElimination.h" #include "rcc/CodeGen/RegAllocPBQP.h" #include "rcc/CodeGen/TargetDescription.h" +#include "rcc/CodeGen/TwoAddressInstructionPass.h" #include <memory> #include <ranges> @@ -52,7 +53,7 @@ template <typename PassT, typename... ArgumentT> Added = addPass<PHIEliminationPass>(Pipeline, instrInfo()); if (!Added) return std::unexpected(Added.error()); - return addPass<TwoAddressRewritePass>(Pipeline, instrInfo()); + return addPass<TwoAddressInstructionPass>(Pipeline, instrInfo()); } [[nodiscard]] Expected<void> addRegisterAllocationPipeline(MachinePassManager &Pipeline) { @@ -110,7 +111,7 @@ Expected<void> addCanonicalPipeline(MachinePassManager &Pipeline, const MachineF } } if (!Function.properties().has(MachineFunctionProperty::TiedOpsRewritten)) { - auto Added = addPass<TwoAddressRewritePass>(Pipeline, instrInfo()); + auto Added = addPass<TwoAddressInstructionPass>(Pipeline, instrInfo()); if (!Added) return std::unexpected(Added.error()); } |
