summaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-18 10:12:22 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-18 10:12:22 +0000
commit8ef42ff578443867c1ad597f11325edc4fdb3649 (patch)
tree08a94ea963a1b5777d0b73d6d37380df36dd60d0 /gcc/reorg.c
parent084a826142b49f4b5837df963621e471df9b4c51 (diff)
downloadgcc-8ef42ff578443867c1ad597f11325edc4fdb3649.tar.gz
gcc/
* jump.c (delete_related_insns): Keep (use (insn))s. * reorg.c (redundant_insn): Check for barriers too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206749 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index de332323ae1..054304a188a 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1512,7 +1512,10 @@ redundant_insn (rtx insn, rtx target, rtx delay_list)
trial && insns_to_search > 0;
trial = PREV_INSN (trial))
{
- if (LABEL_P (trial))
+ /* (use (insn))s can come immediately after a barrier if the
+ label that used to precede them has been deleted as dead.
+ See delete_related_insns. */
+ if (LABEL_P (trial) || BARRIER_P (trial))
return 0;
if (!INSN_P (trial))