Add a temporary command line option to verify machine code after each spill or
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 28 Oct 2010 20:34:47 +0000 (20:34 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 28 Oct 2010 20:34:47 +0000 (20:34 +0000)
split.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117597 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/InlineSpiller.cpp

index e938135a4ec4182c2efe8b6bd644abc27f1885ad..73980f38b99566efd84a3c02140ee1e3ad161d3e 100644 (file)
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetInstrInfo.h"
+#include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace llvm;
 
+static cl::opt<bool>
+VerifySpills("verify-spills", cl::desc("Verify after each spill/split"));
+
 namespace {
 class InlineSpiller : public Spiller {
   MachineFunctionPass &pass_;
@@ -337,6 +341,8 @@ void InlineSpiller::spill(LiveInterval *li,
                           SmallVectorImpl<LiveInterval*> &spillIs) {
   LiveRangeEdit edit(*li, newIntervals, spillIs);
   spill(edit);
+  if (VerifySpills)
+    mf_.verify(&pass_);
 }
 
 void InlineSpiller::spill(LiveRangeEdit &edit) {