diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-18 17:11:11 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-18 17:11:11 +0000 |
commit | 6e537ce81f9e79b627e0b95162036304de028a4e (patch) | |
tree | dc545ee97f3d0bb608afc67d322814c81f69c353 /gcc/jump.c | |
parent | 66b2d994212c112af20939f98add003bc2fba023 (diff) | |
download | gcc-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.c | 40 |
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 |