Skip to content

Commit 66dd7e6

Browse files
committed
Simplify enablePostRAScheduler and test enablePostRAScheduler() early
1 parent 1557eed commit 66dd7e6

File tree

1 file changed

+12
-27
lines changed

1 file changed

+12
-27
lines changed

llvm/lib/CodeGen/PostRASchedulerList.cpp

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)