================
@@ -329,3 +329,27 @@ bool
WebAssemblyRegColoring::runOnMachineFunction(MachineFunction &MF) {
}
return true;
}
+
+bool WebAssemblyRegColoringLegacy::runOnMachineFunction(MachineFunction &MF) {
+ LiveIntervals *Liveness = &getAnalysis<LiveIntervalsWrapperPass>().getLIS();
+ const MachineBlockFrequencyInfo *MBFI =
+ &getAnalysis<MachineBlockFrequencyInfoWrapperPass>().getMBFI();
+ return regColoring(MF, Liveness, MBFI);
+}
+
+PreservedAnalyses
+WebAssemblyRegColoringPass::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ // TODO(boomanaiden154): We duplicate this check from above to avoid
computing
+ // analyses if we do not need to. We should remove it when remove support for
+ // the LegacyPM and are able to simplify things.
+ if (MF.exposesReturnsTwice())
+ return PreservedAnalyses::all();
----------------
boomanaiden154 wrote:
It costs us compile time because we might be computing non-cached analyses when
we don't need to, which I'd rather avoid if possible.
https://github.com/llvm/llvm-project/pull/210225
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits