aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/PHIElimination.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-26 23:28:39 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-26 23:28:39 +0800
commita72a7a4323fb6eef8e15cc2f1229bcca14879e94 (patch)
tree5768e6cd3ad0a025128d9bf7f76a8ee7afe22c12 /backend/lib/CodeGen/PHIElimination.cpp
parent7b3dcced70be227bb43e71d84d11a2f15fb25072 (diff)
downloadrcc-project-a72a7a4323fb6eef8e15cc2f1229bcca14879e94.tar.gz
rcc-project-a72a7a4323fb6eef8e15cc2f1229bcca14879e94.tar.xz
[CodeGen] Centralize machine pass property validation
Diffstat (limited to 'backend/lib/CodeGen/PHIElimination.cpp')
-rw-r--r--backend/lib/CodeGen/PHIElimination.cpp13
1 files changed, 0 insertions, 13 deletions
diff --git a/backend/lib/CodeGen/PHIElimination.cpp b/backend/lib/CodeGen/PHIElimination.cpp
index f57a950..2c536f5 100644
--- a/backend/lib/CodeGen/PHIElimination.cpp
+++ b/backend/lib/CodeGen/PHIElimination.cpp
@@ -64,15 +64,6 @@ struct PhiPlan final {
std::vector<PhiIncoming> IncomingValues;
};
-[[nodiscard]] Expected<void> requireProperties(const MachineFunction &Function,
- const MachinePassContract &Contract) {
- const MachineFunctionProperties Missing = Contract.Requires.missingFrom(Function.properties());
- if (Missing.empty())
- return {};
- return makeUnexpected(ErrorCode::VerificationError,
- Contract.Name + " requires properties: " + Missing.toString());
-}
-
[[nodiscard]] bool isPhi(const MachineInstr &Instruction, const TargetDescription &Target) {
const InstructionDescriptor *Descriptor = Target.instructionDescriptor(Instruction.opcode());
return Descriptor != nullptr && Descriptor->Flags.has(InstructionFlag::Phi);
@@ -486,10 +477,6 @@ const MachinePassContract &PHIEliminationPass::contract() const noexcept {
Expected<MachinePassResult> PHIEliminationPass::run(MachineFunction &Function,
const TargetDescription &Target,
MachineFunctionAnalysisManager &Analyses) {
- auto Required = requireProperties(Function, contract());
- if (!Required)
- return std::unexpected(Required.error());
-
auto Trial = cloneMachineFunction(
Function, Target,
MachineFunctionCloneOptions{.NewStableID = Function.stableID(), .NewName = std::nullopt});