@@ -98,12 +98,6 @@ namespace {
9898 }
9999
100100 bool runOnMachineFunction (MachineFunction &Fn) override ;
101-
102- private:
103- bool enablePostRAScheduler (
104- const TargetSubtargetInfo &ST, CodeGenOptLevel OptLevel,
105- TargetSubtargetInfo::AntiDepBreakMode &Mode,
106- TargetSubtargetInfo::RegClassVector &CriticalPathRCs) const ;
107101 };
108102 char PostRAScheduler::ID = 0 ;
109103
@@ -259,13 +253,8 @@ LLVM_DUMP_METHOD void SchedulePostRATDList::dumpSchedule() const {
259253}
260254#endif
261255
262- bool PostRAScheduler::enablePostRAScheduler (
263- const TargetSubtargetInfo &ST, CodeGenOptLevel OptLevel,
264- TargetSubtargetInfo::AntiDepBreakMode &Mode,
265- TargetSubtargetInfo::RegClassVector &CriticalPathRCs) const {
266- Mode = ST.getAntiDepBreakMode ();
267- ST.getCriticalPathRCs (CriticalPathRCs);
268-
256+ static bool enablePostRAScheduler (const TargetSubtargetInfo &ST,
257+ CodeGenOptLevel OptLevel) {
269258 // Check for explicit enable/disable of post-ra scheduling.
270259 if (EnablePostRAScheduler.getPosition () > 0 )
271260 return EnablePostRAScheduler;
@@ -278,31 +267,27 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
278267 if (skipFunction (Fn.getFunction ()))
279268 return false ;
280269
281- TII = Fn.getSubtarget ().getInstrInfo ();
282- MachineLoopInfo &MLI = getAnalysis<MachineLoopInfoWrapperPass>().getLI ();
283- AliasAnalysis *AA = &getAnalysis<AAResultsWrapperPass>().getAAResults ();
270+ const auto &Subtarget = Fn.getSubtarget ();
284271 TargetPassConfig *PassConfig = &getAnalysis<TargetPassConfig>();
285-
286- RegClassInfo.runOnMachineFunction (Fn);
287-
288- TargetSubtargetInfo::AntiDepBreakMode AntiDepMode =
289- TargetSubtargetInfo::ANTIDEP_NONE;
290- SmallVector<const TargetRegisterClass*, 4 > CriticalPathRCs;
291-
292272 // Check that post-RA scheduling is enabled for this target.
293- // This may upgrade the AntiDepMode.
294- if (!enablePostRAScheduler (Fn.getSubtarget (), PassConfig->getOptLevel (),
295- AntiDepMode, CriticalPathRCs))
273+ if (!enablePostRAScheduler (Subtarget, PassConfig->getOptLevel ()))
296274 return false ;
297275
298- // Check for antidep breaking override...
276+ TII = Subtarget.getInstrInfo ();
277+ MachineLoopInfo &MLI = getAnalysis<MachineLoopInfoWrapperPass>().getLI ();
278+ AliasAnalysis *AA = &getAnalysis<AAResultsWrapperPass>().getAAResults ();
279+ TargetSubtargetInfo::AntiDepBreakMode AntiDepMode =
280+ Subtarget.getAntiDepBreakMode ();
299281 if (EnableAntiDepBreaking.getPosition () > 0 ) {
300282 AntiDepMode = (EnableAntiDepBreaking == " all" )
301283 ? TargetSubtargetInfo::ANTIDEP_ALL
302284 : ((EnableAntiDepBreaking == " critical" )
303285 ? TargetSubtargetInfo::ANTIDEP_CRITICAL
304286 : TargetSubtargetInfo::ANTIDEP_NONE);
305287 }
288+ SmallVector<const TargetRegisterClass *, 4 > CriticalPathRCs;
289+ Subtarget.getCriticalPathRCs (CriticalPathRCs);
290+ RegClassInfo.runOnMachineFunction (Fn);
306291
307292 LLVM_DEBUG (dbgs () << " PostRAScheduler\n " );
308293
0 commit comments