The following patch fixes

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82338

The patch was bootstrapped and tested on x86-64.

Committed as rev. 253259.

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 253298)
+++ ChangeLog   (working copy)
@@ -1,3 +1,8 @@
+2017-09-29  Vladimir Makarov <vmaka...@redhat.com>
+
+       PR rtl-optimization/82338
+       * lra-constraints.c (inherit_in_ebb): Check usage_insns check.
+
 2017-09-29  Alexander Monakov <amona...@ispras.ru>

    * genmodes.c (calc_wider_mode): Suppress qsort macro.
Index: lra-constraints.c
===================================================================
--- lra-constraints.c   (revision 253298)
+++ lra-constraints.c   (working copy)
@@ -6219,6 +6219,7 @@ inherit_in_ebb (rtx_insn *head, rtx_insn
                  && ((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

Reply via email to