aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-15 20:03:59 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-15 20:03:59 +0800
commit5b6ba4568cf6916a61ecde702f45246db8154b9f (patch)
treee581672bd1f27bf68831ea5222d92a8e8337fcfe /backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp
parentb5fb607fa3f54e791baf7ab39faf77d925dd53b7 (diff)
downloadrcc-project-5b6ba4568cf6916a61ecde702f45246db8154b9f.tar.gz
rcc-project-5b6ba4568cf6916a61ecde702f45246db8154b9f.tar.xz
[RISCV][GlobalISel] Legalize floating-point remainder
Diffstat (limited to 'backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp')
-rw-r--r--backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp b/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp
index c001ac5..09b2b66 100644
--- a/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+++ b/backend/lib/CodeGen/GlobalISel/InstructionSelect.cpp
@@ -190,6 +190,12 @@ const MachinePassContract &InstructionSelect::contract() const noexcept {
Expected<MachinePassResult> InstructionSelect::run(MachineFunction &Function,
const TargetDescription &Target,
MachineFunctionAnalysisManager &Analyses) {
+ if (Function.properties().has(MachineFunctionProperty::FailedISel))
+ return MachinePassResult{
+ .Changed = false,
+ .Changes = {},
+ .Preserved = PreservedAnalyses::all(),
+ };
if (Info == nullptr)
return std::unexpected(passFailure("instruction select has no target behavior interface",
ErrorCode::InvalidArgument));