diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/combine-stack-adj.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6df113..af611f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-22 Jan Hubicka <jh@suse.cz> + + * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove + ARG_SIZE note when adjustment was eliminated. + 2014-01-22 Jeff Law <law@redhat.com> PR tree-optimization/59597 diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c index 69fd5ea..c591c60 100644 --- a/gcc/combine-stack-adj.c +++ b/gcc/combine-stack-adj.c @@ -567,6 +567,7 @@ combine_stack_adjustments_for_block (basic_block bb) && try_apply_stack_adjustment (insn, reflist, 0, -last_sp_adjust)) { + rtx note; if (last2_sp_set) maybe_move_args_size_note (last2_sp_set, last_sp_set, false); else @@ -576,6 +577,11 @@ combine_stack_adjustments_for_block (basic_block bb) reflist = NULL; last_sp_set = NULL_RTX; last_sp_adjust = 0; + /* We no longer adjust stack size. Whoever adjusted it earlier + hopefully got the note right. */ + note = find_reg_note (insn, REG_ARGS_SIZE, NULL_RTX); + if (note) + remove_note (insn, note); continue; } } |