aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Tooling/MIRFuzzer.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 19:45:09 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 19:45:09 +0800
commit09e8ef3e0dae29be7aa21a6e22a118a3f545945f (patch)
treecfc5a7148aca9e768df16743c2c637e8c00a9d44 /backend/lib/Tooling/MIRFuzzer.cpp
parent1775d50ba02dab033c639f5c8fedd46cb6613bef (diff)
downloadrcc-project-09e8ef3e0dae29be7aa21a6e22a118a3f545945f.tar.gz
rcc-project-09e8ef3e0dae29be7aa21a6e22a118a3f545945f.tar.xz
[Tooling] Complete the LLVM MIR command-line contract
Diffstat (limited to 'backend/lib/Tooling/MIRFuzzer.cpp')
-rw-r--r--backend/lib/Tooling/MIRFuzzer.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/backend/lib/Tooling/MIRFuzzer.cpp b/backend/lib/Tooling/MIRFuzzer.cpp
index ed5b2fa..653b9fd 100644
--- a/backend/lib/Tooling/MIRFuzzer.cpp
+++ b/backend/lib/Tooling/MIRFuzzer.cpp
@@ -225,7 +225,23 @@ private:
}
[[nodiscard]] BackendOutputKind outputForStage(BackendStage Stage) noexcept {
- return static_cast<BackendOutputKind>(static_cast<std::uint8_t>(Stage));
+ switch (Stage) {
+ case BackendStage::PreLegalizerMIR:
+ return BackendOutputKind::PreLegalizerMIR;
+ case BackendStage::LegalizedMIR:
+ return BackendOutputKind::LegalizedMIR;
+ case BackendStage::RegisterBankMIR:
+ return BackendOutputKind::RegisterBankMIR;
+ case BackendStage::SelectedMIR:
+ return BackendOutputKind::SelectedMIR;
+ case BackendStage::PostSSAMIR:
+ return BackendOutputKind::PostSSAMIR;
+ case BackendStage::PostRegisterAllocationMIR:
+ return BackendOutputKind::PostRegisterAllocationMIR;
+ case BackendStage::FinalMIR:
+ return BackendOutputKind::FinalMIR;
+ }
+ return BackendOutputKind::FinalMIR;
}
[[nodiscard]] Expected<bool> propertyCase(std::string_view Canonical, DeterministicRandom &Random,