http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29333
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-01-22 00:47:00 UTC --- This is the patch which I am testing: Index: gcc/passes.c =================================================================== --- gcc/passes.c (revision 183381) +++ gcc/passes.c (working copy) @@ -1300,11 +1300,11 @@ init_optimization_passes (void) NEXT_PASS (pass_phiprop); NEXT_PASS (pass_fre); NEXT_PASS (pass_copy_prop); - NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_vrp); NEXT_PASS (pass_dce); NEXT_PASS (pass_cselim); NEXT_PASS (pass_tree_ifcombine); + NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_phiopt); NEXT_PASS (pass_tail_recursion); NEXT_PASS (pass_ch); @@ -1401,6 +1401,7 @@ init_optimization_passes (void) NEXT_PASS (pass_late_warn_uninitialized); NEXT_PASS (pass_dse); NEXT_PASS (pass_forwprop); + NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_phiopt); NEXT_PASS (pass_fold_builtins); NEXT_PASS (pass_optimize_widening_mul);