Safe Passes

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)?