[LLVMdev] Passes dependencies?

Eli Friedman eli.friedman at gmail.com
Sun Nov 15 14:17:11 PST 2009


On Sun, Nov 15, 2009 at 1:20 PM, Renato Golin <rengolin at systemcall.org> wrote:
> Is there any map of dependencies/recommendations for the passes? Does
> clang/opt cares if the user tries to use one without the other
> (warning)?

Any arbitrary set of pass arguments should work; strong dependencies,
are added automatically by the pass manager.  You can see the passes
which are getting implicitly added by passing "-debug-pass=Arguments"
to opt; try running "opt -licm -debug-pass=Arguments < /dev/null -S"
to get an idea of what happens here.

Nothing will warn you if you do something silly like run -instcombine
twice in a row, though.
http://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Support/StandardPasses.h
has the set of passes llvm-gcc, clang, and opt run for -O1/2/3; there
are some useful comments there in terms of choosing which passes to
run.

-Eli



More information about the llvm-dev mailing list