summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-29 17:15:24 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-29 17:15:24 +0000
commit2fa8212be77227b06e1b1b9ef8b0c060a1318483 (patch)
treef25ee5c32ff2a46833c7b602d892201b88c8cb37
parent334ca8c4d90677b814d7681bf0a806200271d1aa (diff)
downloadgcc-2fa8212be77227b06e1b1b9ef8b0c060a1318483.tar.gz
2017-09-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/82338 * lra-constraints.c (inherit_in_ebb): Check usage_insns check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253299 138bc75d-0d04-0410-961f-82ee72b054a4
-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 dfabde55a1c..a2eea908053 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 d90bde2817a..4734c072c96 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