[llvm] [CodeGen][NPM] Update BranchFolderLegacy make tail merge configurable via flag (PR #135277)

Christudasan Devadasan via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 20 23:01:30 PDT 2025


================
@@ -144,15 +142,21 @@ PreservedAnalyses BranchFolderPass::run(MachineFunction &MF,
   return getMachineFunctionPassPreservedAnalyses();
 }
 
+void BranchFolderPass::printPipeline(
+    raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
+  OS << MapClassName2PassName(name());
+  if (EnableTailMerge)
+    OS << "<enable-tail-merge>";
+}
+
 bool BranchFolderLegacy::runOnMachineFunction(MachineFunction &MF) {
   if (skipFunction(MF.getFunction()))
     return false;
 
-  TargetPassConfig *PassConfig = &getAnalysis<TargetPassConfig>();
   // TailMerge can create jump into if branches that make CFG irreducible for
   // HW that requires structurized CFG.
-  bool EnableTailMerge = !MF.getTarget().requiresStructuredCFG() &&
-                         PassConfig->getEnableTailMerge();
+  bool EnableTailMerge =
----------------
cdevadas wrote:

Remove it. This isn't requied. You're overwriting the value already set in TargetPassConfig (TargetPassConfig::addMachineLateOptimization) while adding `createBranchFolderPass` with an argument for the same flag.

https://github.com/llvm/llvm-project/pull/135277


More information about the llvm-commits mailing list