@@ -206,29 +206,30 @@ void RAGreedyPass::printPipeline(raw_ostream &OS, function_ref<StringRef(StringR
206206 OS << " greedy<" << FilterName << ' >' ;
207207}
208208
209+ RAGreedy::RequiredAnalyses::RequiredAnalyses (
210+ MachineFunction &MF, MachineFunctionAnalysisManager &MFAM) {
211+ LIS = &MFAM.getResult <LiveIntervalsAnalysis>(MF);
212+ LRM = &MFAM.getResult <LiveRegMatrixAnalysis>(MF);
213+ LSS = &MFAM.getResult <LiveStacksAnalysis>(MF);
214+ Indexes = &MFAM.getResult <SlotIndexesAnalysis>(MF);
215+ MBFI = &MFAM.getResult <MachineBlockFrequencyAnalysis>(MF);
216+ DomTree = &MFAM.getResult <MachineDominatorTreeAnalysis>(MF);
217+ ORE = &MFAM.getResult <MachineOptimizationRemarkEmitterAnalysis>(MF);
218+ Loops = &MFAM.getResult <MachineLoopAnalysis>(MF);
219+ Bundles = &MFAM.getResult <EdgeBundlesAnalysis>(MF);
220+ SpillPlacer = &MFAM.getResult <SpillPlacementAnalysis>(MF);
221+ DebugVars = &MFAM.getResult <LiveDebugVariablesAnalysis>(MF);
222+ EvictProvider = MFAM.getResult <RegAllocEvictionAdvisorAnalysis>(MF).Provider ;
223+ PriorityProvider =
224+ MFAM.getResult <RegAllocPriorityAdvisorAnalysis>(MF).Provider ;
225+ VRM = &MFAM.getResult <VirtRegMapAnalysis>(MF);
226+ }
227+
209228PreservedAnalyses RAGreedyPass::run (MachineFunction &MF,
210229 MachineFunctionAnalysisManager &MFAM) {
211230 MFPropsModifier _ (*this , MF);
212231
213- RAGreedy::RequiredAnalyses Analyses;
214-
215- Analyses.LIS = &MFAM.getResult <LiveIntervalsAnalysis>(MF);
216- Analyses.LRM = &MFAM.getResult <LiveRegMatrixAnalysis>(MF);
217- Analyses.LSS = &MFAM.getResult <LiveStacksAnalysis>(MF);
218- Analyses.Indexes = &MFAM.getResult <SlotIndexesAnalysis>(MF);
219- Analyses.MBFI = &MFAM.getResult <MachineBlockFrequencyAnalysis>(MF);
220- Analyses.DomTree = &MFAM.getResult <MachineDominatorTreeAnalysis>(MF);
221- Analyses.ORE = &MFAM.getResult <MachineOptimizationRemarkEmitterAnalysis>(MF);
222- Analyses.Loops = &MFAM.getResult <MachineLoopAnalysis>(MF);
223- Analyses.Bundles = &MFAM.getResult <EdgeBundlesAnalysis>(MF);
224- Analyses.SpillPlacer = &MFAM.getResult <SpillPlacementAnalysis>(MF);
225- Analyses.DebugVars = &MFAM.getResult <LiveDebugVariablesAnalysis>(MF);
226- Analyses.EvictProvider =
227- MFAM.getResult <RegAllocEvictionAdvisorAnalysis>(MF).Provider ;
228- Analyses.PriorityProvider =
229- MFAM.getResult <RegAllocPriorityAdvisorAnalysis>(MF).Provider ;
230- Analyses.VRM = &MFAM.getResult <VirtRegMapAnalysis>(MF);
231-
232+ RAGreedy::RequiredAnalyses Analyses (MF, MFAM);
232233 RAGreedy Impl (Analyses, Opts.Filter );
233234
234235 bool Changed = Impl.run (MF);
@@ -246,29 +247,27 @@ PreservedAnalyses RAGreedyPass::run(MachineFunction &MF,
246247 return PA;
247248}
248249
249- bool RAGreedyLegacy::runOnMachineFunction (MachineFunction &MF) {
250-
251- RAGreedy::RequiredAnalyses Analyses;
252- Analyses.VRM = &getAnalysis<VirtRegMapWrapperLegacy>().getVRM ();
253- Analyses.LIS = &getAnalysis<LiveIntervalsWrapperPass>().getLIS ();
254- Analyses.LSS = &getAnalysis<LiveStacksWrapperLegacy>().getLS ();
255- Analyses.LRM = &getAnalysis<LiveRegMatrixWrapperLegacy>().getLRM ();
256- Analyses.Indexes = &getAnalysis<SlotIndexesWrapperPass>().getSI ();
257- Analyses.MBFI =
258- &getAnalysis<MachineBlockFrequencyInfoWrapperPass>().getMBFI ();
259- Analyses.DomTree =
260- &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree ();
261- Analyses.ORE = &getAnalysis<MachineOptimizationRemarkEmitterPass>().getORE ();
262- Analyses.Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI ();
263- Analyses.Bundles = &getAnalysis<EdgeBundlesWrapperLegacy>().getEdgeBundles ();
264- Analyses.SpillPlacer =
265- &getAnalysis<SpillPlacementWrapperLegacy>().getResult ();
266- Analyses.DebugVars = &getAnalysis<LiveDebugVariablesWrapperLegacy>().getLDV ();
267- Analyses.EvictProvider =
268- &getAnalysis<RegAllocEvictionAdvisorAnalysisLegacy>().getProvider ();
269- Analyses.PriorityProvider =
270- &getAnalysis<RegAllocPriorityAdvisorAnalysisLegacy>().getProvider ();
250+ RAGreedy::RequiredAnalyses::RequiredAnalyses (Pass &P) {
251+ VRM = &P.getAnalysis <VirtRegMapWrapperLegacy>().getVRM ();
252+ LIS = &P.getAnalysis <LiveIntervalsWrapperPass>().getLIS ();
253+ LSS = &P.getAnalysis <LiveStacksWrapperLegacy>().getLS ();
254+ LRM = &P.getAnalysis <LiveRegMatrixWrapperLegacy>().getLRM ();
255+ Indexes = &P.getAnalysis <SlotIndexesWrapperPass>().getSI ();
256+ MBFI = &P.getAnalysis <MachineBlockFrequencyInfoWrapperPass>().getMBFI ();
257+ DomTree = &P.getAnalysis <MachineDominatorTreeWrapperPass>().getDomTree ();
258+ ORE = &P.getAnalysis <MachineOptimizationRemarkEmitterPass>().getORE ();
259+ Loops = &P.getAnalysis <MachineLoopInfoWrapperPass>().getLI ();
260+ Bundles = &P.getAnalysis <EdgeBundlesWrapperLegacy>().getEdgeBundles ();
261+ SpillPlacer = &P.getAnalysis <SpillPlacementWrapperLegacy>().getResult ();
262+ DebugVars = &P.getAnalysis <LiveDebugVariablesWrapperLegacy>().getLDV ();
263+ EvictProvider =
264+ &P.getAnalysis <RegAllocEvictionAdvisorAnalysisLegacy>().getProvider ();
265+ PriorityProvider =
266+ &P.getAnalysis <RegAllocPriorityAdvisorAnalysisLegacy>().getProvider ();
267+ }
271268
269+ bool RAGreedyLegacy::runOnMachineFunction (MachineFunction &MF) {
270+ RAGreedy::RequiredAnalyses Analyses (*this );
272271 RAGreedy Impl (Analyses, F);
273272 return Impl.run (MF);
274273}
0 commit comments