From e8555cfd193c8de5a3de29275148731b29f6e176 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Wed, 19 Aug 2026 17:50:30 +0800 Subject: [CodeGen] Unify LLVM branch folding pipeline --- .../rcc/CodeGen/MachineBranchOptimization.h | 1 + backend/include/rcc/CodeGen/MachineTailMerge.h | 39 ---------------------- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 backend/include/rcc/CodeGen/MachineTailMerge.h (limited to 'backend/include') diff --git a/backend/include/rcc/CodeGen/MachineBranchOptimization.h b/backend/include/rcc/CodeGen/MachineBranchOptimization.h index e578d72..9c2a739 100644 --- a/backend/include/rcc/CodeGen/MachineBranchOptimization.h +++ b/backend/include/rcc/CodeGen/MachineBranchOptimization.h @@ -13,6 +13,7 @@ class TargetInstrInfo; struct MachineBranchOptimizationOptions final { std::size_t MaximumThreadedEdges = 10'000; + std::size_t MaximumMergedBlocks = 4'096; }; class MachineBranchOptimizationPass final : public MachineFunctionPass { diff --git a/backend/include/rcc/CodeGen/MachineTailMerge.h b/backend/include/rcc/CodeGen/MachineTailMerge.h deleted file mode 100644 index 0b9938e..0000000 --- a/backend/include/rcc/CodeGen/MachineTailMerge.h +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#ifndef RCC_CODEGEN_MACHINETAILMERGE_H -#define RCC_CODEGEN_MACHINETAILMERGE_H - -#include "rcc/CodeGen/MachinePassManager.h" - -#include - -namespace rcc { - -class TargetInstrInfo; - -struct MachineTailMergeOptions final { - std::size_t MaximumMergedBlocks = 4'096; -}; - -class MachineTailMergePass final : public MachineFunctionPass { -public: - explicit MachineTailMergePass(const TargetInstrInfo &Info, - MachineTailMergeOptions Options = {}) noexcept - : Info(&Info), Options(Options) {} - - [[nodiscard]] const MachinePassContract &contract() const noexcept override; - [[nodiscard]] Expected run(MachineFunction &Function, - const TargetDescription &Target, - MachineFunctionAnalysisManager &Analyses) override; - -private: - [[nodiscard]] Expected - runImplementation(MachineFunction &Function, const TargetDescription &Target) const; - - const TargetInstrInfo *Info; - MachineTailMergeOptions Options; -}; - -} // namespace rcc - -#endif // RCC_CODEGEN_MACHINETAILMERGE_H -- cgit v1.2.3