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>
|| (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;
break;
}
- PATTERN (insn) = gen_jump (trial);
+ PATTERN (insn) = gen_jump (XEXP (trial, 0));
+ INSN_CODE (insn) = -1;
cse_jumps_altered = 1;
break;
}