aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2017-09-29 17:15:24 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2017-09-29 17:15:24 +0000
commit851dac7c208cd6d5136480068ded0f70995a9c2e (patch)
treef25ee5c32ff2a46833c7b602d892201b88c8cb37
parente1e299f3356d1977e33d7c654a8f5f49d5a0446a (diff)
downloadgcc-851dac7c208cd6d5136480068ded0f70995a9c2e.zip
gcc-851dac7c208cd6d5136480068ded0f70995a9c2e.tar.gz
gcc-851dac7c208cd6d5136480068ded0f70995a9c2e.tar.bz2
re PR rtl-optimization/82338 (valgrind error in inherit_in_ebb)
2017-09-29 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/82338 * lra-constraints.c (inherit_in_ebb): Check usage_insns check. From-SVN: r253299
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lra-constraints.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dfabde5..a2eea90 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-09-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/82338
+ * lra-constraints.c (inherit_in_ebb): Check usage_insns check.
+
2017-09-29 Alexander Monakov <amonakov@ispras.ru>
* genmodes.c (calc_wider_mode): Suppress qsort macro.
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index d90bde2..4734c072 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -6219,6 +6219,7 @@ inherit_in_ebb (rtx_insn *head, rtx_insn *tail)
&& ((cheap = XEXP (cheap, 0)), true)
&& (regno = REGNO (cheap)) >= FIRST_PSEUDO_REGISTER
&& (hard_regno = reg_renumber[regno]) >= 0
+ && usage_insns[regno].check == curr_usage_insns_check
/* If there are pending saves/restores, the
optimization is not worth. */
&& usage_insns[regno].calls_num == calls_num - 1