aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/passes.def3
-rw-r--r--gcc/tree-stdarg.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/passes.def b/gcc/passes.def
index 61fe9fd..f7c4289 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -212,6 +212,9 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_vrp, true /* warn_array_bounds_p */);
NEXT_PASS (pass_dse);
NEXT_PASS (pass_dce);
+ /* pass_stdarg is always run and at this point we execute
+ TODO_remove_unused_locals to prune CLOBBERs of dead
+ variables which are otherwise a churn on alias walkings. */
NEXT_PASS (pass_stdarg);
NEXT_PASS (pass_call_cdce);
NEXT_PASS (pass_cselim);
diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
index ef21c12..2f77a61 100644
--- a/gcc/tree-stdarg.c
+++ b/gcc/tree-stdarg.c
@@ -1114,7 +1114,7 @@ const pass_data pass_data_stdarg =
( PROP_cfg | PROP_ssa ), /* properties_required */
PROP_gimple_lva, /* properties_provided */
0, /* properties_destroyed */
- 0, /* todo_flags_start */
+ TODO_remove_unused_locals, /* todo_flags_start */
0, /* todo_flags_finish */
};