diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-24 22:15:54 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-24 22:15:54 +0000 |
commit | a8d1dae016ad1cbc9604e7b150190f69d46d0ca0 (patch) | |
tree | 7dc842093d9a325576f2a5371a5f79eaf8125394 /gcc/gcse.c | |
parent | 06ffe8d28c052b5b6a3f6683897c2b2d509f7b72 (diff) | |
download | gcc-a8d1dae016ad1cbc9604e7b150190f69d46d0ca0.tar.gz |
* rtlanal.c (label_is_jump_target_p): Return true for a matching
REG_LABEL_TARGET.
* reorg.c (fill_slots_from_thread): Correct last change to use
NULL_RTX, not NULL. Outside of REG_NOTES loop, increase and
decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
* jump.c (mark_jump_label_1): Add comment for last change
regarding JUMP_LABEL setting.
* gcse.c (add_label_notes): Remove conditional that the label is
mentioned in insn before adding regnote.
* sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
single_set insn only feeding a label to a jump through a
register that dies there.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130398 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index 84c0994753d..db7e03c03d9 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4614,18 +4614,16 @@ add_label_notes (rtx x, rtx insn) We no longer ignore such label references (see LABEL_REF handling in mark_jump_label for additional information). */ - if (reg_mentioned_p (XEXP (x, 0), insn)) - { - /* There's no reason for current users to emit jump-insns - with such a LABEL_REF, so we don't have to handle - REG_LABEL_TARGET notes. */ - gcc_assert (!JUMP_P (insn)); - REG_NOTES (insn) - = gen_rtx_INSN_LIST (REG_LABEL_OPERAND, XEXP (x, 0), - REG_NOTES (insn)); - if (LABEL_P (XEXP (x, 0))) - LABEL_NUSES (XEXP (x, 0))++; - } + /* There's no reason for current users to emit jump-insns with + such a LABEL_REF, so we don't have to handle REG_LABEL_TARGET + notes. */ + gcc_assert (!JUMP_P (insn)); + REG_NOTES (insn) + = gen_rtx_INSN_LIST (REG_LABEL_OPERAND, XEXP (x, 0), + REG_NOTES (insn)); + if (LABEL_P (XEXP (x, 0))) + LABEL_NUSES (XEXP (x, 0))++; + return; } |