summaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-18 17:11:11 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-18 17:11:11 +0000
commit6e537ce81f9e79b627e0b95162036304de028a4e (patch)
treedc545ee97f3d0bb608afc67d322814c81f69c353 /gcc/jump.c
parent66b2d994212c112af20939f98add003bc2fba023 (diff)
downloadgcc-6e537ce81f9e79b627e0b95162036304de028a4e.tar.gz
* flow.c (redirect_edge_and_branch): Bail out on complex edges.
(try_optimize_cfg): Do not remove tail recursive labels before sibcall. * jump.c (mark_jump_label): Do not forward branches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44118 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 20e0bc783c8..afc37f9b8b4 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1999,8 +1999,6 @@ mark_jump_label (x, insn, in_mem)
case LABEL_REF:
{
rtx label = XEXP (x, 0);
- rtx olabel = label;
- rtx next;
/* Ignore remaining references to unreachable labels that
have been deleted. */
@@ -2015,23 +2013,6 @@ mark_jump_label (x, insn, in_mem)
if (LABEL_REF_NONLOCAL_P (x))
break;
- /* If there are other labels following this one,
- replace it with the last of the consecutive labels. */
- for (next = NEXT_INSN (label); next; next = NEXT_INSN (next))
- {
- if (GET_CODE (next) == CODE_LABEL)
- label = next;
- else if (GET_CODE (next) != NOTE)
- break;
- else if ((NOTE_LINE_NUMBER (next) == NOTE_INSN_LOOP_BEG
- || NOTE_LINE_NUMBER (next) == NOTE_INSN_FUNCTION_END
- /* ??? Optional. Disables some optimizations, but
- makes gcov output more accurate with -O. */
- || (flag_test_coverage
- && NOTE_LINE_NUMBER (next) > 0)))
- break;
- }
-
XEXP (x, 0) = label;
if (! insn || ! INSN_DELETED_P (insn))
++LABEL_NUSES (label);
@@ -2042,27 +2023,6 @@ mark_jump_label (x, insn, in_mem)
JUMP_LABEL (insn) = label;
else
{
- /* If we've changed the label, update notes accordingly. */
- if (label != olabel)
- {
- rtx note;
-
- /* We may have a REG_LABEL note to indicate that this
- instruction uses the label. */
- note = find_reg_note (insn, REG_LABEL, olabel);
- if (note)
- XEXP (note, 0) = label;
-
- /* We may also have a REG_EQUAL note to indicate that
- a register is being set to the address of the
- label. */
- note = find_reg_note (insn, REG_EQUAL, NULL_RTX);
- if (note
- && GET_CODE (XEXP (note, 0)) == LABEL_REF
- && XEXP (XEXP (note, 0), 0) == olabel)
- XEXP (XEXP (note, 0), 0) = label;
- }
-
/* Add a REG_LABEL note for LABEL unless there already
is one. All uses of a label, except for labels
that are the targets of jumps, must have a