From: Jeff Law Date: Mon, 10 Feb 1997 21:50:17 +0000 (-0700) Subject: stmt.c (group_case_nodes): Recognize more opportunities to group case nodes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ad7e369fd519d5ccea15bafb57b1e36edc119266;p=gcc.git stmt.c (group_case_nodes): Recognize more opportunities to group case nodes. * stmt.c (group_case_nodes): Recognize more opportunities to group case nodes. From-SVN: r13624 --- diff --git a/gcc/stmt.c b/gcc/stmt.c index a8f2abcee9e..a3f42d5a0cc 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -5590,12 +5590,18 @@ group_case_nodes (head) while (node) { rtx lb = next_real_insn (label_rtx (node->code_label)); + rtx lb2; case_node_ptr np = node; /* Try to group the successors of NODE with NODE. */ while (((np = np->right) != 0) /* Do they jump to the same place? */ - && next_real_insn (label_rtx (np->code_label)) == lb + && ((lb2 = next_real_insn (label_rtx (np->code_label))) == lb + || (lb != 0 && lb2 != 0 + && simplejump_p (lb) + && simplejump_p (lb2) + && rtx_equal_p (SET_SRC (PATTERN (lb)), + SET_SRC (PATTERN (lb2))))) /* Are their ranges consecutive? */ && tree_int_cst_equal (np->low, fold (build (PLUS_EXPR,