+The default optimizer sequence used by the C/C++ front-ends is:<p>
+
+<ol>
+<li>Interprocedural dead code elimination (-globaldce)
+<li>Exception handling pruning (-prune-eh)
+<li>Function inlining (-inline)
+<li>Instruction combining (-instcombine)
+<li>Cast elimination (-raise)
+<li>Tail duplication (-tailduplicate)
+<li>CFG simplification (-simplifycfg)
+<li>Scalar replacement of aggregates (-scalarrepl)
+<li>Tail call elimination (-tailcallelim)
+<li>Instruction combining (-instcombine)
+<li>Reassociation (-reassociate)
+<li>Instruction combining (-instcombine)
+<li>CFG simplification (-simplifycfg)
+<li>Loop canonicalization (-loopsimplify)
+<li>Loop invariant code motion, with scalar promotion (-licm)
+<li>Global common subexpression elimination, with load elimination (-gcse)
+<li>Sparse conditional constant propagation (-sccp)
+<li>Instruction combining (-instcombine)
+<li>Induction variable canonicalization (-indvars)
+<li>Aggressive dead code elimination (-adce)
+<li>CFG simplication (-simplifycfg)
+<li>Dead type elimination (-deadtypeelim)
+<li>Global constant merging (-constmerge)
+</ol><p>
+
+At link-time, the following optimizations are run:<p>
+
+<ol>
+<li>Global constant merging (-constmerge)
+<li>[optional] Internalization [which marks most functions and global variables static] (-internalize)
+<li>Interprocedural dead argument elimination (-deadargelim)
+<li>Instruction combining (-instcombine)
+<li>CFG simplification (-simplifycfg)
+<li>Interprocedural dead code elimination (-globaldce)
+</ol><p>
+
+