From 307fc0961972ac5264d6f3459978fbec95cad3a9 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Wed, 19 Aug 2026 04:27:41 +0800 Subject: [RISCV][GlobalISel] Select and expand global addresses --- backend/lib/CodeGen/MachinePseudoExpansion.cpp | 37 +++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'backend/lib/CodeGen/MachinePseudoExpansion.cpp') diff --git a/backend/lib/CodeGen/MachinePseudoExpansion.cpp b/backend/lib/CodeGen/MachinePseudoExpansion.cpp index e3109ed..8388079 100644 --- a/backend/lib/CodeGen/MachinePseudoExpansion.cpp +++ b/backend/lib/CodeGen/MachinePseudoExpansion.cpp @@ -94,7 +94,8 @@ using BlockSizeSnapshot = std::vector +PreRATargetPseudoExpansionPass::run(MachineFunction &Function, const TargetDescription &Target, + MachineFunctionAnalysisManager &Analyses) { + if (!Function.properties().containsAll(contract().Requires)) { + return makeUnexpected(ErrorCode::VerificationError, + "pre-RA pseudo expansion requires selected SSA-exited MIR"); + } + return runExpansionTransaction(Function, Target, *Info, MachinePseudoExpansionPhase::PreRA, + nullptr, Analyses); +} + const MachinePassContract &PreparePostRAPseudosPass::contract() const noexcept { return preparationContract(); } -- cgit v1.2.3