[LLVMdev] Safe Passes

Marco Schulze marco.c.schulze at gmail.com
Fri Dec 30 02:31:51 PST 2011


Which transformation passes are 'safe', meaning it does not worsens the 
effectiveness of a later pass or the generated code? I imagine all 
passes which either removes data or add attributes are included in this 
list, plus some simplification passes:

-adce
-argpromotion
-constmerge
-constprop
-deadargelim
-dse
-functionattrs
-globaldce
-globalopt
-gvn
-instcombine
-internalize
-ipconstprop
-ipsccp
-licm
-prune-eh
-sccp

Also, is there any redundant pass in this list (things line sccp/ipsccp)?



More information about the llvm-dev mailing list