From 97fbf1c6208fd73a968a3530e871bb9163cd8bea Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Wed, 19 Sep 2018 20:50:49 +0000 Subject: [PATCH] MachineScheduler: Add -misched-print-dags flag Add a flag to dump the schedule DAG to the debug stream. This will be used in upcoming commits to test schedule DAG mutations such as macro fusion. llvm-svn: 342589 --- lib/CodeGen/MachineScheduler.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp index da01f6f5bbe..d60f17ad07f 100644 --- a/lib/CodeGen/MachineScheduler.cpp +++ b/lib/CodeGen/MachineScheduler.cpp @@ -100,8 +100,11 @@ static cl::opt SchedOnlyFunc("misched-only-func", cl::Hidden, cl::desc("Only schedule this function")); static cl::opt SchedOnlyBlock("misched-only-block", cl::Hidden, cl::desc("Only schedule this MBB#")); +static cl::opt PrintDAGs("misched-print-dags", cl::Hidden, + cl::desc("Print schedule DAGs")); #else -static bool ViewMISchedDAGs = false; +static const bool ViewMISchedDAGs = false; +static const bool PrintDAGs = false; #endif // NDEBUG /// Avoid quadratic complexity in unusually large basic blocks by limiting the @@ -765,6 +768,7 @@ void ScheduleDAGMI::schedule() { findRootsAndBiasEdges(TopRoots, BotRoots); LLVM_DEBUG(dump()); + if (PrintDAGs) dump(); if (ViewMISchedDAGs) viewGraph(); // Initialize the strategy before modifying the DAG. @@ -1218,6 +1222,7 @@ void ScheduleDAGMILive::schedule() { SchedImpl->initialize(this); LLVM_DEBUG(dump()); + if (PrintDAGs) dump(); if (ViewMISchedDAGs) viewGraph(); // Initialize ready queues now that the DAG and priority data are finalized.