MachineScheduler: Provide an option for node hiding cutoff and disable it by default

llvm-svn: 247942
This commit is contained in:
Matthias Braun 2015-09-17 21:09:59 +00:00
parent c7d5c94f78
commit d78ee54a54
1 changed files with 9 additions and 1 deletions

View File

@ -49,6 +49,11 @@ DumpCriticalPathLength("misched-dcpl", cl::Hidden,
static cl::opt<bool> ViewMISchedDAGs("view-misched-dags", cl::Hidden,
cl::desc("Pop up a window to show MISched dags after they are processed"));
/// In some situations a few uninteresting nodes depend on nearly all other
/// nodes in the graph, provide a cutoff to hide them.
static cl::opt<unsigned> ViewMISchedCutoff("view-misched-cutoff", cl::Hidden,
cl::desc("Hide nodes with more predecessor/successor than cutoff"));
static cl::opt<unsigned> MISchedCutoff("misched-cutoff", cl::Hidden,
cl::desc("Stop scheduling after N instructions"), cl::init(~0U));
@ -3278,7 +3283,10 @@ struct DOTGraphTraits<ScheduleDAGMI*> : public DefaultDOTGraphTraits {
}
static bool isNodeHidden(const SUnit *Node) {
return (Node->Preds.size() > 10 || Node->Succs.size() > 10);
if (ViewMISchedCutoff == 0)
return false;
return (Node->Preds.size() > ViewMISchedCutoff
|| Node->Succs.size() > ViewMISchedCutoff);
}
static bool hasNodeAddressLabel(const SUnit *Node,