[llvm] [CodeGen] Port MachineUniformityAnalysis to new pass manager (PR #137578)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 28 00:35:40 PDT 2025
================
@@ -177,6 +178,30 @@ class MachineUniformityInfoPrinterPass : public MachineFunctionPass {
} // namespace
+AnalysisKey MachineUniformityAnalysis::Key;
+
+MachineUniformityAnalysis::Result
+MachineUniformityAnalysis::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ auto &DomTree = MFAM.getResult<MachineDominatorTreeAnalysis>(MF);
+ auto &CI = MFAM.getResult<MachineCycleAnalysis>(MF);
+ auto &FAM = MFAM.getResult<FunctionAnalysisManagerMachineFunctionProxy>(MF)
+ .getManager();
+ auto &F = MF.getFunction();
+ auto &TTI = FAM.getResult<TargetIRAnalysis>(F);
+ return computeMachineUniformityInfo(MF, CI, DomTree,
+ TTI.hasBranchDivergence(&F));
+}
+
+PreservedAnalyses
+MachineUniformityPrinterPass::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ auto &MUI = MFAM.getResult<MachineUniformityAnalysis>(MF);
+ OS << "MachineUniformityInfo for function: " << MF.getName() << '\n';
----------------
arsenm wrote:
Doesn't handle anonymous functions correctly
https://github.com/llvm/llvm-project/pull/137578
More information about the llvm-commits
mailing list