Commit ad7e369f by Jeff Law

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
parent 1995f267
...@@ -5590,12 +5590,18 @@ group_case_nodes (head) ...@@ -5590,12 +5590,18 @@ group_case_nodes (head)
while (node) while (node)
{ {
rtx lb = next_real_insn (label_rtx (node->code_label)); rtx lb = next_real_insn (label_rtx (node->code_label));
rtx lb2;
case_node_ptr np = node; case_node_ptr np = node;
/* Try to group the successors of NODE with NODE. */ /* Try to group the successors of NODE with NODE. */
while (((np = np->right) != 0) while (((np = np->right) != 0)
/* Do they jump to the same place? */ /* 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? */ /* Are their ranges consecutive? */
&& tree_int_cst_equal (np->low, && tree_int_cst_equal (np->low,
fold (build (PLUS_EXPR, fold (build (PLUS_EXPR,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment