* [committed] patch fixing PR97983
@ 2020-11-26 1:00 Vladimir Makarov
0 siblings, 0 replies; only message in thread
From: Vladimir Makarov @ 2020-11-26 1:00 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 571 bytes --]
The following patch fixes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97983
The patch was successfully bootstrapped on x86_64 and s390x (with
--enable-languages=c,c++ --enable-checking=release --disable-multilib
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-\
id --with-gcc-major-version-only --with-linker-hash-style=gnu
--enable-plugin --enable-initfini-array --with-isl
--enable-gnu-indirect-function --with-long-double-128 --with-arch=zEC12
--with-tune=z13 --enable-decimal-float)
[-- Attachment #2: pr97983.patch --]
[-- Type: text/x-patch, Size: 1782 bytes --]
commit 0ea3f28e49b1c936fae2b8a5a418440635c6b13a (HEAD -> master)
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date: Wed Nov 25 17:06:13 2020 -0500
[PR97983] LRA: Use the right emit func for putting insn in the destination BB.
gcc/
2020-11-25 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/97983
* lra.c (lra_process_new_insns): Use emit_insn_before_noloc or
emit_insn_after_noloc with the destination BB.
diff --git a/gcc/lra.c b/gcc/lra.c
index 4ec0f466376..a79213e32e0 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -1908,13 +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; 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. */
- if (curr == NULL)
+ without actual insns. */
+ if (tmp == NULL)
continue;
start_sequence ();
for (curr = after; curr != NULL_RTX; curr = NEXT_INSN (curr))
@@ -1927,7 +1923,11 @@ lra_process_new_insns (rtx_insn *insn, rtx_insn *before, rtx_insn *after,
e->dest->index);
dump_rtl_slim (lra_dump_file, copy, NULL, -1, 0);
}
- emit_insn_before (copy, tmp);
+ /* Use the right emit func for setting up BB_END/BB_HEAD: */
+ if (BB_END (e->dest) == PREV_INSN (tmp))
+ emit_insn_after_noloc (copy, PREV_INSN (tmp), e->dest);
+ else
+ emit_insn_before_noloc (copy, tmp, e->dest);
push_insns (last, PREV_INSN (copy));
setup_sp_offset (copy, last);
/* We can ignore BB live info here as it and reg notes
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-11-26 1:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-26 1:00 [committed] patch fixing PR97983 Vladimir Makarov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).