aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/MachinePipelinePasses.h
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 21:56:37 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 21:56:37 +0800
commit0bb35fa2306a66f1f0baf118619b5c1640ed9c01 (patch)
tree4333e77e9555295668b819c96890046d072eed5a /backend/include/rcc/CodeGen/MachinePipelinePasses.h
parentf8daf08aba1f09c3024a70d3426891112d1662a2 (diff)
downloadrcc-project-0bb35fa2306a66f1f0baf118619b5c1640ed9c01.tar.gz
rcc-project-0bb35fa2306a66f1f0baf118619b5c1640ed9c01.tar.xz
[GlobalISel] Split the generic pipeline components
Diffstat (limited to 'backend/include/rcc/CodeGen/MachinePipelinePasses.h')
-rw-r--r--backend/include/rcc/CodeGen/MachinePipelinePasses.h68
1 files changed, 0 insertions, 68 deletions
diff --git a/backend/include/rcc/CodeGen/MachinePipelinePasses.h b/backend/include/rcc/CodeGen/MachinePipelinePasses.h
deleted file mode 100644
index 1187e4a..0000000
--- a/backend/include/rcc/CodeGen/MachinePipelinePasses.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#ifndef RCC_CODEGEN_MACHINEPIPELINEPASSES_H
-#define RCC_CODEGEN_MACHINEPIPELINEPASSES_H
-
-#include "rcc/CodeGen/MachinePass.h"
-#include "rcc/CodeGen/TargetCodeGen.h"
-
-#include <memory>
-
-namespace rcc {
-
-class LegalizerPass final : public MachineFunctionPass {
-public:
- explicit LegalizerPass(const TargetLegalizerInfo *Info) : Info(Info) {}
- explicit LegalizerPass(const TargetLegalizerInfo &Info) : Info(&Info) {}
- explicit LegalizerPass(std::unique_ptr<TargetLegalizerInfo> Info)
- : OwnedInfo(std::move(Info)), Info(OwnedInfo.get()) {}
-
- [[nodiscard]] const MachinePassContract &contract() const noexcept override;
- [[nodiscard]] Expected<MachinePassResult> run(MachineFunction &Function,
- const TargetDescription &Target,
- MachineAnalysisManager &Analyses) override;
-
-private:
- [[nodiscard]] Expected<MachinePassResult> runImplementation(MachineFunction &Function,
- const TargetDescription &Target,
- MachineActionReplay &Actions);
-
- std::unique_ptr<TargetLegalizerInfo> OwnedInfo;
- const TargetLegalizerInfo *Info = nullptr;
-};
-
-class RegisterBankSelectPass final : public MachineFunctionPass {
-public:
- explicit RegisterBankSelectPass(const TargetRegisterBankInfo *Info) : Info(Info) {}
- explicit RegisterBankSelectPass(const TargetRegisterBankInfo &Info) : Info(&Info) {}
-
- [[nodiscard]] const MachinePassContract &contract() const noexcept override;
- [[nodiscard]] Expected<MachinePassResult> run(MachineFunction &Function,
- const TargetDescription &Target,
- MachineAnalysisManager &Analyses) override;
-
-private:
- const TargetRegisterBankInfo *Info;
-};
-
-class InstructionSelectPass final : public MachineFunctionPass {
-public:
- explicit InstructionSelectPass(const TargetInstructionSelector *Info) : Info(Info) {}
- explicit InstructionSelectPass(const TargetInstructionSelector &Info) : Info(&Info) {}
-
- [[nodiscard]] const MachinePassContract &contract() const noexcept override;
- [[nodiscard]] Expected<MachinePassResult> run(MachineFunction &Function,
- const TargetDescription &Target,
- MachineAnalysisManager &Analyses) override;
-
-private:
- [[nodiscard]] Expected<MachinePassResult> runImplementation(MachineFunction &Function,
- const TargetDescription &Target,
- MachineActionReplay &Actions);
-
- const TargetInstructionSelector *Info;
-};
-
-} // namespace rcc
-
-#endif // RCC_CODEGEN_MACHINEPIPELINEPASSES_H