cse.c (cse_insn): Delete dead code involving tablejump.

* cse.c (cse_insn): Delete dead code involving tablejump.
	Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.

From-SVN: r32219
This commit is contained in:
Richard Kenner 2000-02-27 14:06:15 +00:00 committed by Richard Kenner
parent b8d12d7997
commit 4e37e57d14
2 changed files with 5 additions and 12 deletions

View File

@ -1,5 +1,8 @@
Sun Feb 27 07:44:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* cse.c (cse_insn): Delete dead code involving tablejump.
Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
* Makefile.in (libcpp.a): Start by deleting it.
2000-02-27 Alexandre Oliva <oliva@lsd.ic.unicamp.br>

View File

@ -5197,17 +5197,6 @@ cse_insn (insn, libcall_insn)
|| (GET_CODE (trial) == LABEL_REF
&& ! condjump_p (insn))))
{
/* If TRIAL is a label in front of a jump table, we are
really falling through the switch (this is how casesi
insns work), so we must branch around the table. */
if (GET_CODE (trial) == CODE_LABEL
&& NEXT_INSN (trial) != 0
&& GET_CODE (NEXT_INSN (trial)) == JUMP_INSN
&& (GET_CODE (PATTERN (NEXT_INSN (trial))) == ADDR_DIFF_VEC
|| GET_CODE (PATTERN (NEXT_INSN (trial))) == ADDR_VEC))
trial = gen_rtx_LABEL_REF (Pmode, get_label_after (trial));
if (trial == pc_rtx)
{
SET_SRC (sets[i].rtl) = trial;
@ -5215,7 +5204,8 @@ cse_insn (insn, libcall_insn)
break;
}
PATTERN (insn) = gen_jump (trial);
PATTERN (insn) = gen_jump (XEXP (trial, 0));
INSN_CODE (insn) = -1;
cse_jumps_altered = 1;
break;
}