[llvm-branch-commits] [GISel][NewPM] Port localizer (PR #217209)

Vikram Hegde via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Aug 18 22:05:36 PDT 2026


================
@@ -214,3 +220,27 @@ bool Localizer::runOnMachineFunction(MachineFunction &MF) {
   Changed |= localizeIntraBlock(LocalizedInstrs);
   return Changed;
 }
+
+bool LocalizerLegacy::runOnMachineFunction(MachineFunction &MF) {
+  LocalizerImpl Impl;
+  return Impl.runOnMachineFunction(MF, [&]() {
+    return &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(
+        MF.getFunction());
+  });
+}
+
+PreservedAnalyses LocalizerPass::run(MachineFunction &MF,
+                                     MachineFunctionAnalysisManager &MFAM) {
+  MFPropsModifier<LocalizerPass> _(*this, MF);
+  LocalizerImpl Impl;
+  bool Changed = Impl.runOnMachineFunction(MF, [&]() {
+    Function &F = MF.getFunction();
+    FunctionAnalysisManager &FAM =
+        MFAM.getResult<FunctionAnalysisManagerMachineFunctionProxy>(MF)
+            .getManager();
+    return &FAM.getResult<TargetIRAnalysis>(F);
+  });
+  return Changed ? getMachineFunctionPassPreservedAnalyses()
+                       .preserveSet<CFGAnalyses>()
----------------
vikramRH wrote:

Legacy does not seem to preserve CFGAnalyses, But I guess this is correct.

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


More information about the llvm-branch-commits mailing list