]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[LRA]: Fix asserts for output stack pointer reloads
authorVladimir N. Makarov <vmakarov@redhat.com>
Mon, 14 Aug 2023 00:54:58 +0000 (20:54 -0400)
committerVladimir N. Makarov <vmakarov@redhat.com>
Mon, 14 Aug 2023 01:01:41 +0000 (21:01 -0400)
The patch implementing output stack pointer reloads contained superfluous
asserts.  The patch makes them useful.

gcc/ChangeLog:

* lra-constraints.cc (curr_insn_transform): Set done_p up and
check it on true after processing output stack pointer reload.

gcc/lra-constraints.cc

index 26239908747df28879f7bb0dd29031acd46fedf1..8d9443adeb648636bacd08e25edc2d1f08fd2a9c 100644 (file)
@@ -4852,6 +4852,7 @@ curr_insn_transform (bool check_only_p)
            && SET_DEST (set) == stack_pointer_rtx)
          {
            lra_assert (!done_p);
+           done_p = true;
            curr_id->sp_offset = 0;
            lra_insn_recog_data_t id = lra_get_insn_recog_data (insn);
            id->sp_offset = sp_offset;
@@ -4860,7 +4861,7 @@ curr_insn_transform (bool check_only_p)
                       "            Moving sp offset from insn %u to %u\n",
                       INSN_UID (curr_insn), INSN_UID (insn));
          }
-      lra_assert (!done_p);
+      lra_assert (done_p);
     }
   return change_p;
 }