diff options
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 43 |
1 files changed, 15 insertions, 28 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 3e3da790203..b8ec2e1ff89 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -329,7 +329,7 @@ type_can_instantiate_all_elements (tree type) return true; default: - abort (); + gcc_unreachable (); } } @@ -379,7 +379,7 @@ sra_hash_tree (tree t) break; default: - abort (); + gcc_unreachable (); } return h; @@ -446,7 +446,7 @@ sra_elt_eq (const void *x, const void *y) return fields_compatible_p (ae, be); default: - abort (); + gcc_unreachable (); } } @@ -744,8 +744,7 @@ sra_walk_expr (tree *expr_p, block_stmt_iterator *bsi, bool is_output, default: #ifdef ENABLE_CHECKING /* Validate that we're not missing any references. */ - if (walk_tree (&inner, sra_find_candidate_decl, NULL, NULL)) - abort (); + gcc_assert (!walk_tree (&inner, sra_find_candidate_decl, NULL, NULL)); #endif return; } @@ -1246,7 +1245,7 @@ instantiate_missing_elements (struct sra_elt *elt) break; default: - abort (); + gcc_unreachable (); } } @@ -1438,7 +1437,7 @@ generate_one_element_ref (struct sra_elt *elt, tree base) return build (IMAGPART_EXPR, elt->type, base); default: - abort (); + gcc_unreachable (); } } @@ -1495,8 +1494,7 @@ generate_element_copy (struct sra_elt *dst, struct sra_elt *src, tree *list_p) for (dc = dst->children; dc ; dc = dc->sibling) { sc = lookup_element (src, dc->element, NULL, NO_INSERT); - if (sc == NULL) - abort (); + gcc_assert (sc); generate_element_copy (dc, sc, list_p); } @@ -1504,8 +1502,7 @@ generate_element_copy (struct sra_elt *dst, struct sra_elt *src, tree *list_p) { tree t; - if (src->replacement == NULL) - abort (); + gcc_assert (src->replacement); t = build (MODIFY_EXPR, void_type_node, dst->replacement, src->replacement); @@ -1536,11 +1533,8 @@ generate_element_zero (struct sra_elt *elt, tree *list_p) { tree t; - if (elt->is_scalar) - t = build_int_cst (elt->type, 0); - else - /* We generated a replacement for a non-scalar? */ - abort (); + gcc_assert (elt->is_scalar); + t = build_int_cst (elt->type, 0); t = build (MODIFY_EXPR, void_type_node, elt->replacement, t); append_to_statement_list (t, list_p); @@ -1788,12 +1782,9 @@ scalarize_copy (struct sra_elt *lhs_elt, struct sra_elt *rhs_elt, /* If we have two scalar operands, modify the existing statement. */ stmt = bsi_stmt (*bsi); -#ifdef ENABLE_CHECKING /* See the commentary in sra_walk_function concerning RETURN_EXPR, and why we should never see one here. */ - if (TREE_CODE (stmt) != MODIFY_EXPR) - abort (); -#endif + gcc_assert (TREE_CODE (stmt) == MODIFY_EXPR); TREE_OPERAND (stmt, 0) = lhs_elt->replacement; TREE_OPERAND (stmt, 1) = rhs_elt->replacement; @@ -1835,8 +1826,7 @@ scalarize_copy (struct sra_elt *lhs_elt, struct sra_elt *rhs_elt, list = NULL; generate_element_copy (lhs_elt, rhs_elt, &list); - if (list == NULL) - abort (); + gcc_assert (list); sra_replace (bsi, list); } } @@ -1894,8 +1884,7 @@ scalarize_init (struct sra_elt *lhs_elt, tree rhs, block_stmt_iterator *bsi) { /* The LHS is fully instantiated. The list of initializations replaces the original structure assignment. */ - if (!list) - abort (); + gcc_assert (list); mark_all_v_defs (bsi_stmt (*bsi)); sra_replace (bsi, list); } @@ -1929,8 +1918,7 @@ scalarize_ldst (struct sra_elt *elt, tree other, block_stmt_iterator *bsi, bool is_output) { /* Shouldn't have gotten called for a scalar. */ - if (elt->replacement) - abort (); + gcc_assert (!elt->replacement); if (elt->use_block_copy) { @@ -1948,8 +1936,7 @@ scalarize_ldst (struct sra_elt *elt, tree other, mark_all_v_defs (stmt); generate_copy_inout (elt, is_output, other, &list); - if (list == NULL) - abort (); + gcc_assert (list); /* Preserve EH semantics. */ if (stmt_ends_bb_p (stmt)) |