aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCV.h
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-25 01:43:04 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-25 01:43:04 +0800
commit9e89d1d718977749ca798b27b7ad45e1781602c2 (patch)
treee4ab1a06bb0f742792474153071bad94ff279f06 /backend/lib/Target/RISCV/RISCV.h
parentb8fb9248e77e492c630ca135d1bfd58b74f9752a (diff)
downloadrcc-project-9e89d1d718977749ca798b27b7ad45e1781602c2.tar.gz
rcc-project-9e89d1d718977749ca798b27b7ad45e1781602c2.tar.xz
[RISCV] Implement Zcmp move merging
Diffstat (limited to 'backend/lib/Target/RISCV/RISCV.h')
-rw-r--r--backend/lib/Target/RISCV/RISCV.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCV.h b/backend/lib/Target/RISCV/RISCV.h
index fea5010..d45d7e6 100644
--- a/backend/lib/Target/RISCV/RISCV.h
+++ b/backend/lib/Target/RISCV/RISCV.h
@@ -16,6 +16,7 @@
namespace rcc {
class InstructionSelector;
+class MachineFunctionPass;
namespace riscv {
@@ -37,6 +38,8 @@ createSchedulingModel(const TargetSchedulingHooks &Hooks);
[[nodiscard]] const GIMatchTableExecutor &giselCombinerExecutor() noexcept;
[[nodiscard]] const TargetMemoryFoldingInfo &memoryFoldingInfo() noexcept;
[[nodiscard]] const TargetPseudoExpansionInfo &pseudoExpansionInfo() noexcept;
+[[nodiscard]] std::unique_ptr<MachineFunctionPass>
+createMoveMergePass(const RISCVSubtarget &Subtarget);
[[nodiscard]] MachineOptimizationPipelineTargetInfo
optimizationPipelineInfo(const RISCVSubtarget &Subtarget, bool EmitSchedulerDebugOutput = false,
bool EmitFrameDebugOutput = false) noexcept;