From cd30fb546e389d1fb78ce8e579b3dba3a8fdb52a Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Thu, 13 Aug 2026 21:11:10 +0800 Subject: [CodeGen] Match LLVM machine copy propagation --- backend/include/rcc/Target/RISCV/RISCVPipeline.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'backend/include/rcc/Target') diff --git a/backend/include/rcc/Target/RISCV/RISCVPipeline.h b/backend/include/rcc/Target/RISCV/RISCVPipeline.h index 8b27032..267c497 100644 --- a/backend/include/rcc/Target/RISCV/RISCVPipeline.h +++ b/backend/include/rcc/Target/RISCV/RISCVPipeline.h @@ -19,11 +19,17 @@ class TargetDescription; namespace riscv { +struct RISCVPipelineOptions final { + bool UseTargetCopyInstructions = false; +}; + [[nodiscard]] Expected addCanonicalPipeline(MachineFunctionPassManager &Pipeline, const MachineFunction &Function, - const RISCVSubtarget &Subtarget); + const RISCVSubtarget &Subtarget, + RISCVPipelineOptions Options = {}); [[nodiscard]] Expected> -createCanonicalPipelinePass(std::string_view Name, const RISCVSubtarget &Subtarget); +createCanonicalPipelinePass(std::string_view Name, const RISCVSubtarget &Subtarget, + RISCVPipelineOptions Options = {}); [[nodiscard]] Expected> canonicalPipelinePassNames(const MachineFunction &Function, const RISCVSubtarget &Subtarget); } // namespace riscv -- cgit v1.2.3