diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-12 21:56:37 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-12 21:56:37 +0800 |
| commit | 0bb35fa2306a66f1f0baf118619b5c1640ed9c01 (patch) | |
| tree | 4333e77e9555295668b819c96890046d072eed5a /backend/include/rcc/CodeGen/MachinePipelinePasses.h | |
| parent | f8daf08aba1f09c3024a70d3426891112d1662a2 (diff) | |
| download | rcc-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.h | 68 |
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 |
