From 86aed40b1209fa7f270e0dbe980af9db281f9acb Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 27 Feb 1993 19:13:55 +0000 Subject: [PATCH] (simple_cst_equal): New default case handles most tree codes based on TREE_CODE_CLASS. (simple_cst_equal): New default case handles most tree codes based on TREE_CODE_CLASS. Delete newly redundant cases for specific tree codes. From-SVN: r3559 --- gcc/tree.c | 57 ++++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/gcc/tree.c b/gcc/tree.c index 029b56971e7..cc2219b9b2f 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -2587,42 +2587,36 @@ simple_cst_equal (t1, t2) return simple_cst_equal (TREE_OPERAND (t1, 0), TREE_OPERAND (t2, 0)); return 0; - case BIT_FIELD_REF: - return (simple_cst_equal (TREE_OPERAND (t1, 0), TREE_OPERAND (t2, 0)) - && simple_cst_equal (TREE_OPERAND (t1, 1), TREE_OPERAND (t2, 1)) - && simple_cst_equal (TREE_OPERAND (t1, 2), TREE_OPERAND (t2, 2))); - case VAR_DECL: case PARM_DECL: case CONST_DECL: case FUNCTION_DECL: return 0; + } - case PLUS_EXPR: - case MINUS_EXPR: - case MULT_EXPR: - case TRUNC_DIV_EXPR: - case TRUNC_MOD_EXPR: - case LSHIFT_EXPR: - case RSHIFT_EXPR: - cmp = simple_cst_equal (TREE_OPERAND (t1, 0), TREE_OPERAND (t2, 0)); - if (cmp <= 0) - return cmp; - return simple_cst_equal (TREE_OPERAND (t1, 1), TREE_OPERAND (t2, 1)); - - case NEGATE_EXPR: - case ADDR_EXPR: - case REFERENCE_EXPR: - case INDIRECT_REF: - return simple_cst_equal (TREE_OPERAND (t1, 0), TREE_OPERAND (t2, 0)); + /* This general rule works for most tree codes. + All exceptions should be handled above. */ - default: -#if 0 - return lang_simple_cst_equal (t1, t2); -#else - return -1; -#endif + switch (TREE_CODE_CLASS (code1)) + { + int i; + case '1': + case '2': + case '<': + case 'e': + case 'r': + case 's': + cmp = 1; + for (i=0; i