[LLVMdev] Disabling Verifier

Roman Levenstein romixlev at yahoo.com
Fri Apr 18 06:55:26 PDT 2008


I've noticed that the funcionality in the Verifier.cpp significantely 
slows down the compilation, especially for big basic blocks. In this 
case  the llvm::DominatorTree::dominates() seems to consume a lot of time.

Some debugging has shown that it is the Assert2() macro usage in the
Verifier::visitInstruction(), arount this place:
  // Definition must dominate use unless use is unreachable!
  Assert2(DT->dominates(Op, &I) ||
         !DT->dominates(&BB->getParent()->getEntryBlock(), BB),
         "Instruction does not dominate all uses!", Op, &I);

  Question: Is it possible to switch off/disable this checks? I'm 
exprimenting with speeding up the instruction scheduling and instruction 
selection and these checks in Verifer.cpp introduce too much of 
interference with results of my optimizations, so that it becomes 
difficult to decide what are the most time-consuming parts of the compiler.


Gesendet von Yahoo! Mail.
Der Mailbox mit unbegrenztem Speicher.

More information about the llvm-dev mailing list