aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-19 17:50:30 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-19 17:50:30 +0800
commite8555cfd193c8de5a3de29275148731b29f6e176 (patch)
tree22d277e1245b46fd2bad3d57f6562b54b11f122a /backend/include/rcc
parentb689b843d1033530f7f3287172dd65f31f6e81e9 (diff)
downloadrcc-project-e8555cfd193c8de5a3de29275148731b29f6e176.tar.gz
rcc-project-e8555cfd193c8de5a3de29275148731b29f6e176.tar.xz
[CodeGen] Unify LLVM branch folding pipeline
Diffstat (limited to 'backend/include/rcc')
-rw-r--r--backend/include/rcc/CodeGen/MachineBranchOptimization.h1
-rw-r--r--backend/include/rcc/CodeGen/MachineTailMerge.h39
2 files changed, 1 insertions, 39 deletions
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 <cstddef>
-
-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<MachinePassResult> run(MachineFunction &Function,
- const TargetDescription &Target,
- MachineFunctionAnalysisManager &Analyses) override;
-
-private:
- [[nodiscard]] Expected<MachinePassResult>
- runImplementation(MachineFunction &Function, const TargetDescription &Target) const;
-
- const TargetInstrInfo *Info;
- MachineTailMergeOptions Options;
-};
-
-} // namespace rcc
-
-#endif // RCC_CODEGEN_MACHINETAILMERGE_H