From 2d5fec4e65f30764399a4461d908657eb819ef30 Mon Sep 17 00:00:00 2001 From: Richard Guenther <rguenther@suse.de> Date: Wed, 19 Sep 2012 13:46:34 +0000 Subject: [PATCH] passes.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP and copyprop. 2012-09-19 Richard Guenther <rguenther@suse.de> * passes.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP and copyprop. From-SVN: r191476 --- gcc/ChangeLog | 5 +++++ gcc/passes.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9d801214eb2..e7c8f9bf6d42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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. diff --git a/gcc/passes.c b/gcc/passes.c index c96d5333efef..97a1d0ec7fda 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 -- GitLab