@@ -183,7 +183,9 @@ RAGreedyLegacy::RAGreedyLegacy(const RegAllocFilterFunc F)
183183 initializeRAGreedyLegacyPass (*PassRegistry::getPassRegistry ());
184184}
185185
186- RAGreedy::RAGreedy (const RegAllocFilterFunc F) : RegAllocBase(F) {}
186+ RAGreedy::RAGreedy (RequiredAnalyses &Analyses, const RegAllocFilterFunc F) : RegAllocBase(F) {
187+ setAnalyses (Analyses);
188+ }
187189
188190void RAGreedy::setAnalyses (RequiredAnalyses &Analyses) {
189191 VRM = Analyses.VRM ;
@@ -204,14 +206,13 @@ void RAGreedy::setAnalyses(RequiredAnalyses &Analyses) {
204206
205207void RAGreedyPass::printPipeline (raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) const {
206208 StringRef FilterName = Opts.FilterName .empty () ? " all" : Opts.FilterName ;
207- OS << " regallocgreedy<" << FilterName << " > " ;
209+ OS << " regallocgreedy<" << FilterName << ' > ' ;
208210}
209211
210212PreservedAnalyses RAGreedyPass::run (MachineFunction &MF,
211213 MachineFunctionAnalysisManager &MFAM) {
212214 MFPropsModifier _ (*this , MF);
213215
214- RAGreedy Impl (Opts.Filter );
215216 RAGreedy::RequiredAnalyses Analyses;
216217
217218 Analyses.LIS = &MFAM.getResult <LiveIntervalsAnalysis>(MF);
@@ -231,7 +232,8 @@ PreservedAnalyses RAGreedyPass::run(MachineFunction &MF,
231232 MFAM.getResult <RegAllocPriorityAdvisorAnalysis>(MF).Provider ;
232233 Analyses.VRM = &MFAM.getResult <VirtRegMapAnalysis>(MF);
233234
234- Impl.setAnalyses (Analyses);
235+ RAGreedy Impl (Analyses, Opts.Filter );
236+
235237 bool Changed = Impl.run (MF);
236238 if (!Changed)
237239 return PreservedAnalyses::all ();
@@ -248,7 +250,6 @@ PreservedAnalyses RAGreedyPass::run(MachineFunction &MF,
248250}
249251
250252bool RAGreedyLegacy::runOnMachineFunction (MachineFunction &MF) {
251- RAGreedy Impl (F);
252253
253254 RAGreedy::RequiredAnalyses Analyses;
254255 Analyses.VRM = &getAnalysis<VirtRegMapWrapperLegacy>().getVRM ();
@@ -271,7 +272,7 @@ bool RAGreedyLegacy::runOnMachineFunction(MachineFunction &MF) {
271272 Analyses.PriorityProvider =
272273 &getAnalysis<RegAllocPriorityAdvisorAnalysisLegacy>().getProvider ();
273274
274- Impl. setAnalyses (Analyses);
275+ RAGreedy Impl (Analyses, F );
275276 return Impl.run (MF);
276277}
277278
0 commit comments