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/GlobalISel/InstructionSelect.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/GlobalISel/InstructionSelect.cpp')
| -rw-r--r-- | backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp b/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp index 995a9a0..66bbff2 100644 --- a/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp +++ b/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp @@ -152,17 +152,6 @@ void combineFingerprint(std::uint64_t &State, std::uint64_t Value) noexcept { return Result; } -[[nodiscard]] Expected<void> requireProperties(const MachineFunction &Function, - const MachinePassContract &Contract) { - const MachineFunctionProperties Missing = Contract.Requires.missingFrom(Function.properties()); - if (!Missing.empty()) { - return makeUnexpected(ErrorCode::VerificationError, - "pass '" + Contract.Name + - "' requires properties: " + Missing.toString()); - } - return {}; -} - [[nodiscard]] Error passFailure(std::string Message, ErrorCode Code = ErrorCode::VerificationError) { return Error(Code, std::move(Message)); @@ -225,10 +214,6 @@ Expected<MachinePassResult> InstructionSelect::run(MachineFunction &Function, if (Info == nullptr) return std::unexpected(passFailure("instruction select has no target behavior interface", ErrorCode::InvalidArgument)); - auto Required = requireProperties(Function, contract()); - if (!Required) - return std::unexpected(Required.error()); - auto Trial = cloneMachineFunction( Function, Target, MachineFunctionCloneOptions{.NewStableID = Function.stableID(), .NewName = std::nullopt}); |
