aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/MachinePseudoExpansion.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-19 17:16:32 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-19 17:16:32 +0800
commitf7df62b40fd06585bb8c93d001f90e37d3aea3c2 (patch)
tree78d92132b5fe9bbf84e476d3517133aae046a5a3 /backend/lib/CodeGen/MachinePseudoExpansion.cpp
parent8769e4cb5b29ce9bc2be10487edbc1b0238804f9 (diff)
downloadrcc-project-f7df62b40fd06585bb8c93d001f90e37d3aea3c2.tar.gz
rcc-project-f7df62b40fd06585bb8c93d001f90e37d3aea3c2.tar.xz
[CodeGen] Remove unsupported pre-PEI pseudo expansion
Diffstat (limited to 'backend/lib/CodeGen/MachinePseudoExpansion.cpp')
-rw-r--r--backend/lib/CodeGen/MachinePseudoExpansion.cpp38
1 files changed, 2 insertions, 36 deletions
diff --git a/backend/lib/CodeGen/MachinePseudoExpansion.cpp b/backend/lib/CodeGen/MachinePseudoExpansion.cpp
index 8388079..e81168c 100644
--- a/backend/lib/CodeGen/MachinePseudoExpansion.cpp
+++ b/backend/lib/CodeGen/MachinePseudoExpansion.cpp
@@ -99,9 +99,8 @@ using BlockSizeSnapshot = std::vector<std::pair<MachineBlockStableID, std::uint6
return makeUnexpected(ErrorCode::PseudoExpansionFailed,
"post-selection pseudo expansion created a virtual register");
}
- if (Phase != MachinePseudoExpansionPhase::PrePEI &&
- (Before.FrameObjectCount != After.FrameObjectCount ||
- Before.FrameFrozen != After.FrameFrozen)) {
+ if (Before.FrameObjectCount != After.FrameObjectCount ||
+ Before.FrameFrozen != After.FrameFrozen) {
return makeUnexpected(ErrorCode::PseudoExpansionFailed,
"post-PEI pseudo expansion changed frozen frame resources");
}
@@ -112,8 +111,6 @@ using BlockSizeSnapshot = std::vector<std::pair<MachineBlockStableID, std::uint6
switch (Phase) {
case MachinePseudoExpansionPhase::PreRA:
return PseudoOwner::PreRAExpansion;
- case MachinePseudoExpansionPhase::PrePEI:
- return PseudoOwner::PrePEIExpansion;
case MachinePseudoExpansionPhase::PostRA:
return PseudoOwner::PostRAExpansion;
case MachinePseudoExpansionPhase::TargetLate:
@@ -155,21 +152,6 @@ using BlockSizeSnapshot = std::vector<std::pair<MachineBlockStableID, std::uint6
MachinePassChange::Registers};
return Value;
}();
- static const MachinePassContract PrePEI = [] {
- MachinePassContract Value{
- .Name = "pre-pei-target-pseudo-expansion",
- .Requires = {MachineFunctionProperty::Selected, MachineFunctionProperty::NoPHIs,
- MachineFunctionProperty::NoVRegs, MachineFunctionProperty::TracksLiveness},
- .Sets = {},
- .Clears = {},
- .RequiredAnalyses = {},
- .VerificationStage = PipelineStage::RegisterAllocated,
- };
- Value.ThreadSafety = PassThreadSafety::ThreadSafe;
- Value.DeclaredChanges = {MachinePassChange::Instructions, MachinePassChange::Operands,
- MachinePassChange::Frame};
- return Value;
- }();
static const MachinePassContract PostRA = [] {
MachinePassContract Value{
.Name = "postrapseudos",
@@ -205,8 +187,6 @@ using BlockSizeSnapshot = std::vector<std::pair<MachineBlockStableID, std::uint6
switch (Phase) {
case MachinePseudoExpansionPhase::PreRA:
return PreRA;
- case MachinePseudoExpansionPhase::PrePEI:
- return PrePEI;
case MachinePseudoExpansionPhase::PostRA:
return PostRA;
case MachinePseudoExpansionPhase::TargetLate:
@@ -450,20 +430,6 @@ PreparePostRAPseudosPass::run(MachineFunction &Function, const TargetDescription
return runPreparationTransaction(Function, Target, *Info, Analyses);
}
-const MachinePassContract &PrePEITargetPseudoExpansionPass::contract() const noexcept {
- return phaseContract(MachinePseudoExpansionPhase::PrePEI);
-}
-
-Expected<MachinePassResult>
-PrePEITargetPseudoExpansionPass::run(MachineFunction &Function, const TargetDescription &Target,
- MachineFunctionAnalysisManager &Analyses) {
- if (!Function.properties().containsAll(contract().Requires))
- return makeUnexpected(ErrorCode::VerificationError,
- "pre-PEI pseudo expansion requires allocated tracked-liveness MIR");
- return runExpansionTransaction(Function, Target, *Info, MachinePseudoExpansionPhase::PrePEI,
- nullptr, Analyses);
-}
-
const MachinePassContract &ExpandPostRAPseudosPass::contract() const noexcept {
return phaseContract(MachinePseudoExpansionPhase::PostRA);
}