[PATCH] Move objsz pass for -Og
Richard Guenther
rguenther@suse.de
Wed Sep 19 13:32:00 GMT 2012
This moves objsz so basic constant propagation (done by copyprop)
propagates its results before we fold the builtins in fab. This
fixes execute fails in the builtins testsuite.
Bootstrapped on x86_64-unknown-linux-gnu, full testing in progress.
Richard.
2012-09-19 Richard Guenther <rguenther@suse.de>
* passes.c (init_optimization_passes): For -Og move
pass_object_sizes inbetween CCP and copyprop.
Index: gcc/passes.c
===================================================================
--- gcc/passes.c (revision 191466)
+++ gcc/passes.c (working copy)
@@ -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
More information about the Gcc-patches
mailing list