diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2017-09-29 17:15:24 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2017-09-29 17:15:24 +0000 |
commit | 851dac7c208cd6d5136480068ded0f70995a9c2e (patch) | |
tree | f25ee5c32ff2a46833c7b602d892201b88c8cb37 | |
parent | e1e299f3356d1977e33d7c654a8f5f49d5a0446a (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lra-constraints.c | 1 |
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 |