aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2020-11-24 11:25:16 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2020-11-24 11:36:23 -0500
commitbc8f0f1f88d95a284aa329fbc7e70e0b529eaa2a (patch)
tree364a9c8e920332f58db46b58e2fb98ee41f3c247
parentf30a9a8d9e06ae2bf38e0d25e3ca6095212c78e9 (diff)
downloadgcc-bc8f0f1f88d95a284aa329fbc7e70e0b529eaa2a.zip
gcc-bc8f0f1f88d95a284aa329fbc7e70e0b529eaa2a.tar.gz
gcc-bc8f0f1f88d95a284aa329fbc7e70e0b529eaa2a.tar.bz2
[PR97933] LRA: find correctly last empty dest block.
gcc/ 2020-11-24 Vladimir Makarov <vmakarov@redhat.com> PR bootstrap/97933 * lra.c (lra_process_new_insns): Stop on the first real insn after head of e->dest.
-rw-r--r--gcc/lra.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index b318cfd..4ec0f46 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -1908,11 +1908,9 @@ lra_process_new_insns (rtx_insn *insn, rtx_insn *before, rtx_insn *after,
tmp = NEXT_INSN (tmp);
if (NOTE_INSN_BASIC_BLOCK_P (tmp))
tmp = NEXT_INSN (tmp);
- for (curr = tmp;
- curr != NULL
- && (!INSN_P (curr) || BLOCK_FOR_INSN (curr) == e->dest);
- curr = NEXT_INSN (curr))
- ;
+ for (curr = tmp; curr != NULL; curr = NEXT_INSN (curr))
+ if (INSN_P (curr))
+ break;
/* Do not put reload insns if it is the last BB
without actual insns. In this case the reload insns
can get null BB after emitting. */