aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Tooling/MIRFuzzer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/lib/Tooling/MIRFuzzer.cpp')
-rw-r--r--backend/lib/Tooling/MIRFuzzer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/backend/lib/Tooling/MIRFuzzer.cpp b/backend/lib/Tooling/MIRFuzzer.cpp
index 653b9fd..e75e9f9 100644
--- a/backend/lib/Tooling/MIRFuzzer.cpp
+++ b/backend/lib/Tooling/MIRFuzzer.cpp
@@ -290,7 +290,11 @@ private:
const MachineFunction *Function = Parsed->Document.unit().functionAt(0);
if (Function == nullptr)
return std::unexpected(Error(ErrorCode::InternalError, "pipeline fuzz input has no function"));
- auto Names = riscv::canonicalPipelinePassNames(*Function);
+ auto Features = riscv::RISCVSubtargetFeatures::fromFeatureList(Invocation.Features);
+ if (!Features)
+ return std::unexpected(Features.error());
+ const riscv::RISCVSubtarget Subtarget(*Features);
+ auto Names = riscv::canonicalPipelinePassNames(*Function, Subtarget);
if (!Names)
return std::unexpected(Names.error());
PipelineControls Controls;