diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2018-12-13 20:54:27 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2018-12-13 20:54:27 +0000 |
commit | 11067dee85df4812303ebda57642675a0b89ef67 (patch) | |
tree | 9ad654ea7adca3344fcf62deb2226109e55539ea /gcc/lra-constraints.c | |
parent | b46e1a69975d64ad436ff1c928e008105b2b2a8d (diff) | |
download | gcc-11067dee85df4812303ebda57642675a0b89ef67.zip gcc-11067dee85df4812303ebda57642675a0b89ef67.tar.gz gcc-11067dee85df4812303ebda57642675a0b89ef67.tar.bz2 |
re PR rtl-optimization/88414 (ICE in lra_assign, at lra-assigns.c:1624)
2018-12-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/88414
* lra-int.h (lra_asm_error_p): New.
* lra-assigns.c (lra_assign): Check lra_asm_error_p for checking
call crossed pseudo assignment correctness.
(lra_split_hard_reg_for): Set up lra_asm_error_p.
* lra-constraints.c (curr_insn_transform): Ditto.
* lra.c (lra_asm_error_p): New.
(lra): Reset lra_asm_error_p.
2018-12-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/88414
* gcc.target/i386/pr88414.c: New.
From-SVN: r267109
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index ba35b95..c061093 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -3940,6 +3940,7 @@ curr_insn_transform (bool check_only_p) fatal_insn ("unable to generate reloads for:", curr_insn); error_for_asm (curr_insn, "inconsistent operand constraints in an %<asm%>"); + lra_asm_error_p = true; /* Avoid further trouble with this insn. Don't generate use pattern here as we could use the insn SP offset. */ lra_set_insn_deleted (curr_insn); |