diff options
Diffstat (limited to 'gcc/tree-ssa-ccp.c')
-rw-r--r-- | gcc/tree-ssa-ccp.c | 61 |
1 files changed, 19 insertions, 42 deletions
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index b1b74b1..ddde45d 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -99,7 +99,7 @@ dump_lattice_value (FILE *outf, const char *prefix, value val) print_generic_expr (outf, val.const_val, dump_flags); break; default: - abort (); + gcc_unreachable (); } } @@ -128,10 +128,7 @@ get_default_value (tree var) sym = SSA_NAME_VAR (var); else { -#ifdef ENABLE_CHECKING - if (!DECL_P (var)) - abort (); -#endif + gcc_assert (DECL_P (var)); sym = var; } @@ -188,10 +185,7 @@ get_value (tree var) { value *val; -#if defined ENABLE_CHECKING - if (TREE_CODE (var) != SSA_NAME) - abort (); -#endif + gcc_assert (TREE_CODE (var) == SSA_NAME); val = &value_vector[SSA_NAME_VERSION (var)]; if (val->lattice_val == UNINITIALIZED) @@ -209,32 +203,24 @@ set_lattice_value (tree var, value val) { value *old = get_value (var); -#ifdef ENABLE_CHECKING if (val.lattice_val == UNDEFINED) { /* CONSTANT->UNDEFINED is never a valid state transition. */ - if (old->lattice_val == CONSTANT) - abort (); + gcc_assert (old->lattice_val != CONSTANT); /* UNKNOWN_VAL->UNDEFINED is never a valid state transition. */ - if (old->lattice_val == UNKNOWN_VAL) - abort (); + gcc_assert (old->lattice_val != UNKNOWN_VAL); /* VARYING->UNDEFINED is generally not a valid state transition, except for values which are initialized to VARYING. */ - if (old->lattice_val == VARYING - && get_default_value (var).lattice_val != VARYING) - abort (); + gcc_assert (old->lattice_val != VARYING + || get_default_value (var).lattice_val == VARYING); } else if (val.lattice_val == CONSTANT) - { - /* VARYING -> CONSTANT is an invalid state transition, except - for objects which start off in a VARYING state. */ - if (old->lattice_val == VARYING - && get_default_value (var).lattice_val != VARYING) - abort (); - } -#endif + /* VARYING -> CONSTANT is an invalid state transition, except + for objects which start off in a VARYING state. */ + gcc_assert (old->lattice_val == VARYING + || get_default_value (var).lattice_val != VARYING); /* If the constant for VAR has changed, then this VAR is really varying. */ if (old->lattice_val == CONSTANT @@ -326,11 +312,8 @@ likely_value (tree stmt) if (val->lattice_val == UNKNOWN_VAL) return UNKNOWN_VAL; -#ifdef ENABLE_CHECKING - /* There should be no VUSE operands that are UNDEFINED. */ - if (val->lattice_val == UNDEFINED) - abort (); -#endif + /* There should be no VUSE operands that are UNDEFINED. */ + gcc_assert (val->lattice_val != UNDEFINED); if (val->lattice_val == CONSTANT) found_constant = 1; @@ -719,7 +702,7 @@ ccp_visit_phi_node (tree phi) break; default: - abort (); + gcc_unreachable (); } for (i = 0; i < PHI_NUM_ARGS (phi); i++) @@ -1016,12 +999,9 @@ visit_assignment (tree stmt, tree *output_p) vuses = STMT_VUSE_OPS (stmt); v_must_defs = STMT_V_MUST_DEF_OPS (stmt); -#if defined ENABLE_CHECKING - if (NUM_V_MAY_DEFS (STMT_V_MAY_DEF_OPS (stmt)) > 0 - || (NUM_V_MUST_DEFS (v_must_defs) != 1 - && TREE_CODE (lhs) != SSA_NAME)) - abort (); -#endif + gcc_assert (NUM_V_MAY_DEFS (STMT_V_MAY_DEF_OPS (stmt)) == 0); + gcc_assert (NUM_V_MUST_DEFS (v_must_defs) == 1 + || TREE_CODE (lhs) == SSA_NAME); /* We require the SSA version number of the lhs for the value_vector. Make sure we have it. */ @@ -1250,10 +1230,7 @@ widen_bitfield (tree val, tree field, tree var) if (field_size > HOST_BITS_PER_WIDE_INT || var_size > HOST_BITS_PER_WIDE_INT) return NULL_TREE; -#if defined ENABLE_CHECKING - if (var_size < field_size) - abort (); -#endif + gcc_assert (var_size >= field_size); /* If the sign bit of the value is not set or the field's type is unsigned, just mask off the high order bits of the value. */ @@ -2000,7 +1977,7 @@ ccp_fold_builtin (tree stmt, tree fn) break; default: - abort (); + gcc_unreachable (); } if (result && ignore) |