From 1775d50ba02dab033c639f5c8fedd46cb6613bef Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Wed, 12 Aug 2026 04:21:14 +0800 Subject: [Tooling] Adopt LLVM MIR command-line spellings --- backend/lib/CodeGen/MachineCombiner.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'backend/lib/CodeGen/MachineCombiner.cpp') diff --git a/backend/lib/CodeGen/MachineCombiner.cpp b/backend/lib/CodeGen/MachineCombiner.cpp index 54915ab..9a87b6f 100644 --- a/backend/lib/CodeGen/MachineCombiner.cpp +++ b/backend/lib/CodeGen/MachineCombiner.cpp @@ -25,6 +25,20 @@ namespace rcc { namespace { [[nodiscard]] const MachinePassContract &combinerContract(MachineCombinerStage Stage) { + static const MachinePassContract PreLegalizer = [] { + MachinePassContract Value{ + .Name = "riscv-prelegalizer-combiner", + .Requires = {MachineFunctionProperty::IsSSA}, + .Sets = {}, + .Clears = {}, + .RequiredAnalyses = {}, + .VerificationStage = PipelineStage::MachineIRInput, + }; + Value.ThreadSafety = PassThreadSafety::ThreadSafe; + Value.DeclaredChanges = {MachinePassChange::Instructions, MachinePassChange::Operands, + MachinePassChange::Registers}; + return Value; + }(); static const MachinePassContract SelectedSSA = [] { MachinePassContract Value{ .Name = "machine-combiner-selected-ssa", @@ -85,6 +99,8 @@ namespace { return Value; }(); switch (Stage) { + case MachineCombinerStage::PreLegalizer: + return PreLegalizer; case MachineCombinerStage::SelectedSSA: return SelectedSSA; case MachineCombinerStage::PreRegisterAllocation: @@ -94,7 +110,7 @@ namespace { case MachineCombinerStage::PostFrame: return PostFrame; } - return SelectedSSA; + return PreLegalizer; } [[nodiscard]] Error prefixedError(const Error &Failure, std::string Prefix) { -- cgit v1.2.3