diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-01-18 10:12:22 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-01-18 10:12:22 +0000 |
commit | 04da56800d7dab3b3aee10b742328efc49ff3a4a (patch) | |
tree | 08a94ea963a1b5777d0b73d6d37380df36dd60d0 /gcc/reorg.c | |
parent | 1e99bee598858cf783e585f48bda3dfc7702b4c9 (diff) | |
download | gcc-04da56800d7dab3b3aee10b742328efc49ff3a4a.zip gcc-04da56800d7dab3b3aee10b742328efc49ff3a4a.tar.gz gcc-04da56800d7dab3b3aee10b742328efc49ff3a4a.tar.bz2 |
jump.c (delete_related_insns): Keep (use (insn))s.
gcc/
* jump.c (delete_related_insns): Keep (use (insn))s.
* reorg.c (redundant_insn): Check for barriers too.
From-SVN: r206749
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index de33232..054304a 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)) |