[LLVMdev] PassManager Dependence Question

Chris Lattner clattner at apple.com
Fri Sep 19 20:38:13 PDT 2008


On Sep 19, 2008, at 3:20 PM, David Greene wrote:

> On Friday 19 September 2008 17:11, David Greene wrote:
>
>> What I'd really like to do is have Pass X re-run but not Pass Y.   
>> Pass Y
>> only uses some bookkeeping from Pass X to speed itself up.  Having  
>> Pass X
>> not re-run could cause Pass Y to give wrong answers, but once Pass  
>> X is
>> up-to-date, Pass Y will be fine.
>
> To make this a bit more concrete:
>
> I noticed that the Verifier takes a VERY long time on large  
> programs.  This
> appears to be due to its checking of defs dominating uses.  When a def
> and use are in the same BasicBlock, DominatorTrees iterates over the
> block until it finds one or the other.  Since Verifier does this for  
> each
> Instruction, this is an n^2 algorithm.

The verifier case is easy to fix.  Can you please send me a testcase?

-Chris



More information about the llvm-dev mailing list