Add DAG printing for RMW stuff debugging

llvm-svn: 84776
This commit is contained in:
Anton Korobeynikov 2009-10-21 19:18:28 +00:00
parent d233af8049
commit 23ea13afbb
3 changed files with 18 additions and 2 deletions

View File

@ -26,6 +26,7 @@
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
@ -34,6 +35,14 @@
using namespace llvm;
#ifndef NDEBUG
static cl::opt<bool>
ViewRMWDAGs("view-msp430-rmw-dags", cl::Hidden,
cl::desc("Pop up a window to show isel dags after RMW preprocess"));
#else
static const bool ViewRMWDAGs = false;
#endif
STATISTIC(NumLoadMoved, "Number of loads moved below TokenFactor");
/// MSP430DAGToDAGISel - MSP430 specific code to select MSP430 machine
@ -288,8 +297,15 @@ void MSP430DAGToDAGISel::PreprocessForRMW() {
/// InstructionSelect - This callback is invoked by
/// SelectionDAGISel when it has created a SelectionDAG for us to codegen.
void MSP430DAGToDAGISel::InstructionSelect() {
std::string BlockName;
if (ViewRMWDAGs)
BlockName = MF->getFunction()->getNameStr() + ":" +
BB->getBasicBlock()->getNameStr();
PreprocessForRMW();
if (ViewRMWDAGs) CurDAG->viewGraph("RMW preprocessed:" + BlockName);
DEBUG(errs() << "Selection DAG after RMW preprocessing:\n");
DEBUG(CurDAG->dump());

View File

@ -1,5 +1,5 @@
; RUN: llc -march=msp430 < %s | FileCheck %s
; XFAIL
; XFAIL: *
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-generic-generic"
@foo = common global i16 0, align 2

View File

@ -1,5 +1,5 @@
; RUN: llc -march=msp430 < %s | FileCheck %s
; XFAIL
; XFAIL: *
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-generic-generic"