diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/passes.def | 3 | ||||
-rw-r--r-- | gcc/tree-stdarg.c | 2 |
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 */ }; |