diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-12 20:39:04 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-12 20:39:04 +0800 |
| commit | 8721893d3ba605f5374d9c0c7987af6110355638 (patch) | |
| tree | e734a1358a80fbb4dbdc62f1575475da51fabcb8 /backend/include/rcc | |
| parent | 2ef71f86a2b3e23967e8af08ba1eaaa950f0e1b5 (diff) | |
| download | rcc-project-8721893d3ba605f5374d9c0c7987af6110355638.tar.gz rcc-project-8721893d3ba605f5374d9c0c7987af6110355638.tar.xz | |
[CodeGen] Add TargetInstrInfo ownership
Diffstat (limited to 'backend/include/rcc')
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineBranchOptimization.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineBranchRelaxation.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineFallthrough.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineFinalization.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineOptimizationPipeline.h | 4 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachinePseudoExpansion.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineTailDuplication.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineTailMerge.h | 6 | ||||
| -rw-r--r-- | backend/include/rcc/CodeGen/TargetInstrInfo.h (renamed from backend/include/rcc/CodeGen/TargetBranchInfo.h) | 10 | ||||
| -rw-r--r-- | backend/include/rcc/Target/RISCV/RISCVCodeGen.h | 4 |
10 files changed, 30 insertions, 30 deletions
diff --git a/backend/include/rcc/CodeGen/MachineBranchOptimization.h b/backend/include/rcc/CodeGen/MachineBranchOptimization.h index a71c20f..9f120dc 100644 --- a/backend/include/rcc/CodeGen/MachineBranchOptimization.h +++ b/backend/include/rcc/CodeGen/MachineBranchOptimization.h @@ -9,7 +9,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; struct MachineBranchOptimizationOptions final { std::size_t MaximumThreadedEdges = 10'000; @@ -17,7 +17,7 @@ struct MachineBranchOptimizationOptions final { class MachineBranchOptimizationPass final : public MachineFunctionPass { public: - explicit MachineBranchOptimizationPass(const TargetBranchInfo &Info, + explicit MachineBranchOptimizationPass(const TargetInstrInfo &Info, MachineBranchOptimizationOptions Options = {}) noexcept : Info(&Info), Options(Options) {} @@ -30,7 +30,7 @@ private: [[nodiscard]] Expected<MachinePassResult> runImplementation(MachineFunction &Function, const TargetDescription &Target) const; - const TargetBranchInfo *Info; + const TargetInstrInfo *Info; MachineBranchOptimizationOptions Options; }; diff --git a/backend/include/rcc/CodeGen/MachineBranchRelaxation.h b/backend/include/rcc/CodeGen/MachineBranchRelaxation.h index c88c1d5..03c7fa7 100644 --- a/backend/include/rcc/CodeGen/MachineBranchRelaxation.h +++ b/backend/include/rcc/CodeGen/MachineBranchRelaxation.h @@ -9,7 +9,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; struct MachineBranchRelaxationOptions final { std::size_t ConvergenceWatchdog = 1000000; @@ -17,7 +17,7 @@ struct MachineBranchRelaxationOptions final { class MachineBranchRelaxationPass final : public MachineFunctionPass { public: - explicit MachineBranchRelaxationPass(const TargetBranchInfo &Info, + explicit MachineBranchRelaxationPass(const TargetInstrInfo &Info, MachineBranchRelaxationOptions Options = {}) noexcept : Info(&Info), Options(Options) {} @@ -31,7 +31,7 @@ private: const TargetDescription &Target, MachineActionReplay &Actions) const; - const TargetBranchInfo *Info; + const TargetInstrInfo *Info; MachineBranchRelaxationOptions Options; }; diff --git a/backend/include/rcc/CodeGen/MachineFallthrough.h b/backend/include/rcc/CodeGen/MachineFallthrough.h index 413efe2..5793330 100644 --- a/backend/include/rcc/CodeGen/MachineFallthrough.h +++ b/backend/include/rcc/CodeGen/MachineFallthrough.h @@ -7,11 +7,11 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; class MachineFallthroughPass final : public MachineFunctionPass { public: - explicit MachineFallthroughPass(const TargetBranchInfo &Info) noexcept : Info(&Info) {} + explicit MachineFallthroughPass(const TargetInstrInfo &Info) noexcept : Info(&Info) {} [[nodiscard]] const MachinePassContract &contract() const noexcept override; [[nodiscard]] Expected<MachinePassResult> run(MachineFunction &Function, @@ -19,7 +19,7 @@ public: MachineAnalysisManager &Analyses) override; private: - const TargetBranchInfo *Info; + const TargetInstrInfo *Info; }; } // namespace rcc diff --git a/backend/include/rcc/CodeGen/MachineFinalization.h b/backend/include/rcc/CodeGen/MachineFinalization.h index 147da86..1927691 100644 --- a/backend/include/rcc/CodeGen/MachineFinalization.h +++ b/backend/include/rcc/CodeGen/MachineFinalization.h @@ -7,7 +7,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; class FinalizeEmissionPseudosPass final : public MachineFunctionPass { public: @@ -19,7 +19,7 @@ public: class FinalEncodabilityVerifierPass final : public MachineFunctionPass { public: - explicit FinalEncodabilityVerifierPass(const TargetBranchInfo &BranchInfo) noexcept + explicit FinalEncodabilityVerifierPass(const TargetInstrInfo &BranchInfo) noexcept : BranchInfo(&BranchInfo) {} [[nodiscard]] const MachinePassContract &contract() const noexcept override; @@ -28,7 +28,7 @@ public: MachineAnalysisManager &Analyses) override; private: - const TargetBranchInfo *BranchInfo; + const TargetInstrInfo *BranchInfo; }; } // namespace rcc diff --git a/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h b/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h index 0953437..2cf1bcd 100644 --- a/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h +++ b/backend/include/rcc/CodeGen/MachineOptimizationPipeline.h @@ -7,7 +7,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; class TargetFrameLowering; class TargetMachineCombinerInfo; class TargetMemoryFoldingInfo; @@ -22,7 +22,7 @@ struct MachineOptimizationPipelineTargetInfo final { const TargetFrameLowering &FrameLowering; const TargetPseudoExpansionInfo &PseudoExpansion; const TargetSchedulingModel &SchedulingModel; - const TargetBranchInfo &BranchInfo; + const TargetInstrInfo &BranchInfo; }; [[nodiscard]] Expected<void> registerMachineOptimizationAnalyses(MachineAnalysisManager &Analyses); diff --git a/backend/include/rcc/CodeGen/MachinePseudoExpansion.h b/backend/include/rcc/CodeGen/MachinePseudoExpansion.h index 1dfb6ba..8c47441 100644 --- a/backend/include/rcc/CodeGen/MachinePseudoExpansion.h +++ b/backend/include/rcc/CodeGen/MachinePseudoExpansion.h @@ -8,7 +8,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; class TargetPseudoExpansionInfo; class PreparePostRAPseudosPass final : public MachineFunctionPass { @@ -54,7 +54,7 @@ private: class TargetLatePseudoExpansionPass final : public MachineFunctionPass { public: TargetLatePseudoExpansionPass(const TargetPseudoExpansionInfo &Info, - const TargetBranchInfo &BranchInfo) noexcept + const TargetInstrInfo &BranchInfo) noexcept : Info(&Info), BranchInfo(&BranchInfo) {} [[nodiscard]] const MachinePassContract &contract() const noexcept override; @@ -64,7 +64,7 @@ public: private: const TargetPseudoExpansionInfo *Info; - const TargetBranchInfo *BranchInfo; + const TargetInstrInfo *BranchInfo; }; } // namespace rcc diff --git a/backend/include/rcc/CodeGen/MachineTailDuplication.h b/backend/include/rcc/CodeGen/MachineTailDuplication.h index cd62509..1c21bdf 100644 --- a/backend/include/rcc/CodeGen/MachineTailDuplication.h +++ b/backend/include/rcc/CodeGen/MachineTailDuplication.h @@ -9,7 +9,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; struct MachineTailDuplicationOptions final { std::size_t MaximumTailInstructions = 8; @@ -18,7 +18,7 @@ struct MachineTailDuplicationOptions final { class MachineTailDuplicationPass final : public MachineFunctionPass { public: - explicit MachineTailDuplicationPass(const TargetBranchInfo &Info, + explicit MachineTailDuplicationPass(const TargetInstrInfo &Info, MachineTailDuplicationOptions Options = {}) noexcept : Info(&Info), Options(Options) {} @@ -31,7 +31,7 @@ private: [[nodiscard]] Expected<MachinePassResult> runImplementation(MachineFunction &Function, const TargetDescription &Target) const; - const TargetBranchInfo *Info; + const TargetInstrInfo *Info; MachineTailDuplicationOptions Options; }; diff --git a/backend/include/rcc/CodeGen/MachineTailMerge.h b/backend/include/rcc/CodeGen/MachineTailMerge.h index 94084ac..7237d58 100644 --- a/backend/include/rcc/CodeGen/MachineTailMerge.h +++ b/backend/include/rcc/CodeGen/MachineTailMerge.h @@ -9,7 +9,7 @@ namespace rcc { -class TargetBranchInfo; +class TargetInstrInfo; struct MachineTailMergeOptions final { std::size_t MaximumMergedBlocks = 4'096; @@ -17,7 +17,7 @@ struct MachineTailMergeOptions final { class MachineTailMergePass final : public MachineFunctionPass { public: - explicit MachineTailMergePass(const TargetBranchInfo &Info, + explicit MachineTailMergePass(const TargetInstrInfo &Info, MachineTailMergeOptions Options = {}) noexcept : Info(&Info), Options(Options) {} @@ -30,7 +30,7 @@ private: [[nodiscard]] Expected<MachinePassResult> runImplementation(MachineFunction &Function, const TargetDescription &Target) const; - const TargetBranchInfo *Info; + const TargetInstrInfo *Info; MachineTailMergeOptions Options; }; diff --git a/backend/include/rcc/CodeGen/TargetBranchInfo.h b/backend/include/rcc/CodeGen/TargetInstrInfo.h index 39c5122..d9f0906 100644 --- a/backend/include/rcc/CodeGen/TargetBranchInfo.h +++ b/backend/include/rcc/CodeGen/TargetInstrInfo.h @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later -#ifndef RCC_CODEGEN_TARGETBRANCHINFO_H -#define RCC_CODEGEN_TARGETBRANCHINFO_H +#ifndef RCC_CODEGEN_TARGETINSTRINFO_H +#define RCC_CODEGEN_TARGETINSTRINFO_H #include "rcc/Support/Error.h" @@ -23,9 +23,9 @@ struct MachineBranchAnalysis final { bool HasUnanalyzableTerminator = false; }; -class TargetBranchInfo { +class TargetInstrInfo { public: - virtual ~TargetBranchInfo() = default; + virtual ~TargetInstrInfo(); [[nodiscard]] virtual Expected<MachineBranchAnalysis> analyzeBranch(MachineBasicBlock &Block, MachineFunction &Function, @@ -63,4 +63,4 @@ public: } // namespace rcc -#endif // RCC_CODEGEN_TARGETBRANCHINFO_H +#endif // RCC_CODEGEN_TARGETINSTRINFO_H diff --git a/backend/include/rcc/Target/RISCV/RISCVCodeGen.h b/backend/include/rcc/Target/RISCV/RISCVCodeGen.h index a39a3fa..d68157a 100644 --- a/backend/include/rcc/Target/RISCV/RISCVCodeGen.h +++ b/backend/include/rcc/Target/RISCV/RISCVCodeGen.h @@ -5,9 +5,9 @@ #include "rcc/CodeGen/MachineCombinerPattern.h" #include "rcc/CodeGen/MachineOptimizationPipeline.h" -#include "rcc/CodeGen/TargetBranchInfo.h" #include "rcc/CodeGen/TargetCodeGen.h" #include "rcc/CodeGen/TargetFrameLowering.h" +#include "rcc/CodeGen/TargetInstrInfo.h" #include "rcc/CodeGen/TargetMemoryFolding.h" #include "rcc/CodeGen/TargetPseudoExpansion.h" #include "rcc/CodeGen/TargetRegisterAllocationInfo.h" @@ -29,7 +29,7 @@ createLegalizerInfo(RISCVSubtargetFeatures Features); [[nodiscard]] const TargetSchedulingModel &schedulingModel() noexcept; [[nodiscard]] const TargetMachineCombinerInfo &machineCombinerInfo() noexcept; [[nodiscard]] const TargetMemoryFoldingInfo &memoryFoldingInfo() noexcept; -[[nodiscard]] const TargetBranchInfo &branchInfo() noexcept; +[[nodiscard]] const TargetInstrInfo &branchInfo() noexcept; [[nodiscard]] const TargetPseudoExpansionInfo &pseudoExpansionInfo() noexcept; [[nodiscard]] MachineOptimizationPipelineTargetInfo optimizationPipelineInfo() noexcept; |
