Add an option to view the selection dags as they are generated.
authorChris Lattner <sabre@nondot.org>
Wed, 12 Jan 2005 03:41:21 +0000 (03:41 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 12 Jan 2005 03:41:21 +0000 (03:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19498 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index 9ccf87cfd845e0a3dc250412d65be038dc00e6b4..ae6b08cfb6da6c63ac2ff2df982fe0a7dc07b9c5 100644 (file)
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetLowering.h"
 #include "llvm/Target/TargetMachine.h"
+#include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Debug.h"
 #include <map>
 #include <iostream>
 using namespace llvm;
 
+#ifndef _NDEBUG
+static cl::opt<bool>
+ViewDAGs("view-isel-dags", cl::Hidden,
+         cl::desc("Pop up a window to show isel dags as they are selected"));
+#else
+static const bool ViewDAGS = 0;
+#endif
+
 namespace llvm {
   //===--------------------------------------------------------------------===//
   /// FunctionLoweringInfo - This contains information that is global to a
@@ -890,6 +899,8 @@ void SelectionDAGISel::SelectBasicBlock(BasicBlock *LLVMBB, MachineFunction &MF,
   // the code to the MachineBasicBlock.
   InstructionSelectBasicBlock(DAG);
 
+  if (ViewDAGs) DAG.viewGraph();
+
   DEBUG(std::cerr << "Selected machine code:\n");
   DEBUG(BB->dump());