]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
combine-stack-adj.c (combine_stack_adjustments_for_block): Remove ARG_SIZE note when...
authorJan Hubicka <jh@suse.cz>
Wed, 22 Jan 2014 22:05:23 +0000 (23:05 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 22 Jan 2014 22:05:23 +0000 (22:05 +0000)
* combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
ARG_SIZE note when adjustment was eliminated.

From-SVN: r206943

gcc/ChangeLog
gcc/combine-stack-adj.c

index f6df113dc00689e4abf9e6a6439e1a31111f7437..af611f7d48bc0d69465017791904e5602fb0652c 100644 (file)
@@ -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
index 69fd5ea77e3aae1abdfa53d8fcacf95b869d48bd..c591c604b8a8e0f95e9c732cde73cf7a71591985 100644 (file)
@@ -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;
            }
        }