summaryrefslogtreecommitdiffstats
path: root/gcc/cse.c
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-26 17:43:51 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-26 17:43:51 +0000
commite78ee8528ac6819dde862b65c985680c9730340e (patch)
tree353e2522e9b78e6437b08ed0ac5aed67e4d2e6d8 /gcc/cse.c
parent1778711944c6cccc5600bd5fce4ddc6d8e396e26 (diff)
downloadppe42-gcc-e78ee8528ac6819dde862b65c985680c9730340e.tar.gz
ppe42-gcc-e78ee8528ac6819dde862b65c985680c9730340e.zip
* cse.c (check_for_label_ref): Don't require REG_LABEL notes for
non-local label_refs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46555 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index efe1fadab48..cbeae55f72f 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7362,7 +7362,7 @@ cse_basic_block (from, to, next_branch, around_loop)
}
/* Called via for_each_rtx to see if an insn is using a LABEL_REF for which
- there isn't a REG_DEAD note. Return one if so. DATA is the insn. */
+ there isn't a REG_LABEL note. Return one if so. DATA is the insn. */
static int
check_for_label_ref (rtl, data)
@@ -7376,6 +7376,7 @@ check_for_label_ref (rtl, data)
LABEL_REF for a CODE_LABEL that isn't in the insn chain, don't do this
since no REG_LABEL will be added. */
return (GET_CODE (*rtl) == LABEL_REF
+ && ! LABEL_REF_NONLOCAL_P (*rtl)
&& LABEL_P (XEXP (*rtl, 0))
&& INSN_UID (XEXP (*rtl, 0)) != 0
&& ! find_reg_note (insn, REG_LABEL, XEXP (*rtl, 0)));
OpenPOWER on IntegriCloud