diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-26 23:28:39 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-26 23:28:39 +0800 |
| commit | a72a7a4323fb6eef8e15cc2f1229bcca14879e94 (patch) | |
| tree | 5768e6cd3ad0a025128d9bf7f76a8ee7afe22c12 /backend/lib/CodeGen/PHIElimination.cpp | |
| parent | 7b3dcced70be227bb43e71d84d11a2f15fb25072 (diff) | |
| download | rcc-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.cpp | 13 |
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}); |
