aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp')
-rw-r--r--backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp b/backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp
index ef29333..a5747c3 100644
--- a/backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp
+++ b/backend/lib/CodeGen/GlobalISel/RegBankSelect.cpp
@@ -290,6 +290,12 @@ const MachinePassContract &RegBankSelect::contract() const noexcept {
Expected<MachinePassResult> RegBankSelect::run(MachineFunction &Function,
const TargetDescription &Target,
MachineFunctionAnalysisManager &) {
+ if (Function.properties().has(MachineFunctionProperty::FailedISel))
+ return MachinePassResult{
+ .Changed = false,
+ .Changes = {},
+ .Preserved = PreservedAnalyses::all(),
+ };
if (Info == nullptr)
return std::unexpected(passFailure("register-bank select has no target behavior interface",
ErrorCode::InvalidArgument));