print, printm, verify,
// More powerful optimizations
- indvars, instcombine, sccp, adce, raise, mem2reg,
+ indvars, instcombine, sccp, adce, raise, reassociate, mem2reg,
// Instrumentation
trace, tracem, paths,
{ sccp , createSCCPPass },
{ adce , createAggressiveDCEPass },
{ raise , createRaisePointerReferencesPass },
+ { reassociate, createReassociatePass },
{ mem2reg , createPromoteMemoryToRegister },
{ lowerrefs, createDecomposeMultiDimRefsPass },
clEnumVal(instcombine, "Combine redundant instructions"),
clEnumVal(sccp , "Sparse Conditional Constant Propogation"),
clEnumVal(adce , "Aggressive DCE"),
+ clEnumVal(reassociate, "Reassociate expressions"),
clEnumVal(mem2reg , "Promote alloca locations to registers"),
clEnumVal(internalize, "Mark all fn's internal except for main"),