[llvm] r247942 - MachineScheduler: Provide an option for node hiding cutoff and disable it by default

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 14:10:00 PDT 2015


Author: matze
Date: Thu Sep 17 16:09:59 2015
New Revision: 247942

URL: http://llvm.org/viewvc/llvm-project?rev=247942&view=rev
Log:
MachineScheduler: Provide an option for node hiding cutoff and disable it by default

Modified:
    llvm/trunk/lib/CodeGen/MachineScheduler.cpp

Modified: llvm/trunk/lib/CodeGen/MachineScheduler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineScheduler.cpp?rev=247942&r1=247941&r2=247942&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineScheduler.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineScheduler.cpp Thu Sep 17 16:09:59 2015
@@ -49,6 +49,11 @@ DumpCriticalPathLength("misched-dcpl", c
 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*> :
   }
 
   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,




More information about the llvm-commits mailing list