diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/passes.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9d8012..e7c8f9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2012-09-19 Richard Guenther <rguenther@suse.de> + * passes.c (init_optimization_passes): For -Og move + pass_object_sizes inbetween CCP and copyprop. + +2012-09-19 Richard Guenther <rguenther@suse.de> + * tree-ssa-forwprop.c (get_prop_source_stmt): Simplify. 2012-09-19 Jan Hubicka <jh@suse.cz> diff --git a/gcc/passes.c b/gcc/passes.c index c96d533..97a1d0e 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1528,11 +1528,13 @@ init_optimization_passes (void) NEXT_PASS (pass_lower_vector_ssa); /* Perform simple scalar cleanup which is constant/copy propagation. */ NEXT_PASS (pass_ccp); + NEXT_PASS (pass_object_sizes); + /* Copy propagation also copy-propagates constants, this is necessary + to forward object-size results properly. */ NEXT_PASS (pass_copy_prop); NEXT_PASS (pass_rename_ssa_copies); NEXT_PASS (pass_dce); /* Fold remaining builtins. */ - NEXT_PASS (pass_object_sizes); NEXT_PASS (pass_fold_builtins); /* ??? We do want some kind of loop invariant motion, but we possibly need to adjust LIM to be more friendly towards preserving accurate |