[LLVMdev] Strange loop unrolling problem (partially solved)

Duncan Sands baldrick at free.fr
Mon Apr 27 06:44:22 PDT 2009


Hi,

> Any ideas which pass does the lifting of the `then' branch?

if optimizing with "opt -std-compile-opts" shows this problem
then you can find the problematic pass using the following
method:
(1) run "opt -std-compile-opts -debug-pass=Arguments" to find
out which passes opt is running.
(2) run opt with that list of passes rather than -std-compile-opts.
(3) drop passes from the end of the list as long as the problematic
transform is still happening.  At some point the problem will
disappear when you drop a pass.  Then that pass is presumably
doing the transform.  A more sophisticated version of this is
to do bisection on the list of passes.

Ciao,

Duncan.



More information about the llvm-dev mailing list