diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-08-08 13:58:46 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-08-08 13:58:46 +0000 |
commit | 179ad376df3e60fe35e30b9ccc076b0daba81814 (patch) | |
tree | cdcc088872a42d29855f73da83b38281d05bd41d | |
parent | 8a0e29aeea45fe1609e499d5128fe5d649b68626 (diff) | |
download | gcc-179ad376df3e60fe35e30b9ccc076b0daba81814.tar.gz |
PR rtl-optimization/72821
* lra-spills.c (regno_in_use_p): Don't use BLOCK_FOR_INSN on barriers,
just return false for them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239241 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lra-spills.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66e4049915b..1e9e56cae70 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-08-08 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/72821 + * lra-spills.c (regno_in_use_p): Don't use BLOCK_FOR_INSN on barriers, + just return false for them. + 2016-08-08 Alan Modra <amodra@gmail.com> PR target/72771 diff --git a/gcc/lra-spills.c b/gcc/lra-spills.c index d7529ea371f..768ae82f772 100644 --- a/gcc/lra-spills.c +++ b/gcc/lra-spills.c @@ -697,9 +697,10 @@ regno_in_use_p (rtx_insn *insn, unsigned int regno) int i, arg_regno; basic_block bb = BLOCK_FOR_INSN (insn); - while ((insn = next_nondebug_insn (insn)) != NULL_RTX - && bb == BLOCK_FOR_INSN (insn)) + while ((insn = next_nondebug_insn (insn)) != NULL_RTX) { + if (BARRIER_P (insn) || bb != BLOCK_FOR_INSN (insn)) + return false; if (! INSN_P (insn)) continue; if (GET_CODE (PATTERN (insn)) == USE |