diff options
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 4 |
1 files changed, 3 insertions, 1 deletions
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 |