Commit ced3f397 by Nathan Sidwell

dbxout.c (dbxout_type, [...]): Use gcc_assert and gcc_unreachable.

	* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
	gcc_assert and gcc_unreachable.
	* ddg.c (create_ddg_dependence, add_deps_for_def,
	add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
	* df.c (df_ref_unlink, df_ref_record, df_uses_record,
	df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
	df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
	df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
	df_bb_reg_live_end_p, df_bb_regs_lives_compare,
	df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
	dataflow_set_copy, hybrid_search, diagnostic.c,
	diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
	* dojump.c (do_jump): Likewise.
	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
	compute_dom_fast_query, calculate_dominance_info,
	free_dominance_info, get_immediate_dominator,
	set_immediate_dominator, get_dominated_by,
	redirect_immediate_dominators, nearest_common_dominator,
	dominated_by_p, verify_dominators, recount_dominator,
	iterate_fix_dominators, add_to_dominance_info,
	delete_from_dominance_info): Likewise.
	* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
	dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
	initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
	flush_queued_reg_saves, dwarf2out_frame_debug_expr,
	dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
	output_call_frame_info, output_loc_operands, build_cfa_loc,
	decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
	AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
	AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
	splice_child_die, attr_checksum, same_dw_val_p,
	break_out_includes, build_abbrev_table, size_of_die, mark_dies,
	unmark_dies, value_format, output_loc_list, output_die,
	output_pubnames, output_aranges, base_type_die, is_base_type,
	modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
	mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
	field_byte_offset, add_data_member_location_attribute,
	add_const_value_attribute, rtl_for_decl_location,
	add_location_or_const_value_attribute, add_byte_size_attribute,
	add_bit_offset_attribute, add_bit_size_attribute,
	add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
	decl_start_label, gen_formal_parameter_die,
	gen_type_die_for_member, gen_subprogram_die, gen_label_die,
	gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
	force_decl_die, force_type_die, gen_decl_die,
	dwarf2out_imported_module_or_decl, prune_unused_types_prune,
	dwarf2out_finish): Likewise.

From-SVN: r87176
parent faaaf610
2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
gcc_assert and gcc_unreachable.
* ddg.c (create_ddg_dependence, add_deps_for_def,
add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
* df.c (df_ref_unlink, df_ref_record, df_uses_record,
df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
df_bb_reg_live_end_p, df_bb_regs_lives_compare,
df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
dataflow_set_copy, hybrid_search, diagnostic.c,
diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
* dojump.c (do_jump): Likewise.
* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
compute_dom_fast_query, calculate_dominance_info,
free_dominance_info, get_immediate_dominator,
set_immediate_dominator, get_dominated_by,
redirect_immediate_dominators, nearest_common_dominator,
dominated_by_p, verify_dominators, recount_dominator,
iterate_fix_dominators, add_to_dominance_info,
delete_from_dominance_info): Likewise.
* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
flush_queued_reg_saves, dwarf2out_frame_debug_expr,
dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
output_call_frame_info, output_loc_operands, build_cfa_loc,
decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
splice_child_die, attr_checksum, same_dw_val_p,
break_out_includes, build_abbrev_table, size_of_die, mark_dies,
unmark_dies, value_format, output_loc_list, output_die,
output_pubnames, output_aranges, base_type_die, is_base_type,
modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
field_byte_offset, add_data_member_location_attribute,
add_const_value_attribute, rtl_for_decl_location,
add_location_or_const_value_attribute, add_byte_size_attribute,
add_bit_offset_attribute, add_bit_size_attribute,
add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
decl_start_label, gen_formal_parameter_die,
gen_type_die_for_member, gen_subprogram_die, gen_label_die,
gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
force_decl_die, force_type_die, gen_decl_die,
dwarf2out_imported_module_or_decl, prune_unused_types_prune,
dwarf2out_finish): Likewise.
2004-09-08 Andreas Tobler <toa@pop.agri.ch> 2004-09-08 Andreas Tobler <toa@pop.agri.ch>
* Makefile.in (builtins.o): Depend on tree-mudflap.h. * Makefile.in (builtins.o): Depend on tree-mudflap.h.
...@@ -6014,7 +6066,7 @@ ...@@ -6014,7 +6066,7 @@
* config/i386/xmmintrin.h: Include <mm_malloc.h>. * config/i386/xmmintrin.h: Include <mm_malloc.h>.
2004-08-03 H.J. Lu <hongjiu.lu@intel.com> 2004-08-03 H.J. Lu <hongjiu.lu@intel.com>
Tanguy Fautr <tfautre@pandora.be> Tanguy Fautrà <tfautre@pandora.be>
* config/i386/pmm_malloc.h: New file. * config/i386/pmm_malloc.h: New file.
......
...@@ -1683,8 +1683,7 @@ dbxout_type (tree type, int full) ...@@ -1683,8 +1683,7 @@ dbxout_type (tree type, int full)
/* We shouldn't be outputting a reference to a type before its /* We shouldn't be outputting a reference to a type before its
definition unless the type has a tag name. definition unless the type has a tag name.
A typedef name without a tag name should be impossible. */ A typedef name without a tag name should be impossible. */
if (TREE_CODE (TYPE_NAME (type)) != IDENTIFIER_NODE) gcc_assert (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE);
abort ();
#endif #endif
if (TYPE_NAME (type) != 0) if (TYPE_NAME (type) != 0)
dbxout_type_name (type); dbxout_type_name (type);
...@@ -1919,7 +1918,7 @@ dbxout_type (tree type, int full) ...@@ -1919,7 +1918,7 @@ dbxout_type (tree type, int full)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -2040,19 +2039,19 @@ print_wide_int (HOST_WIDE_INT c) ...@@ -2040,19 +2039,19 @@ print_wide_int (HOST_WIDE_INT c)
static void static void
dbxout_type_name (tree type) dbxout_type_name (tree type)
{ {
tree t; tree t = TYPE_NAME (type);
if (TYPE_NAME (type) == 0)
abort (); gcc_assert (t);
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE) switch (TREE_CODE (t))
{
t = TYPE_NAME (type);
}
else if (TREE_CODE (TYPE_NAME (type)) == TYPE_DECL)
{ {
t = DECL_NAME (TYPE_NAME (type)); case IDENTIFIER_NODE:
break;
case TYPE_DECL:
t = DECL_NAME (t);
break;
default:
gcc_unreachable ();
} }
else
abort ();
fprintf (asmfile, "%s", IDENTIFIER_POINTER (t)); fprintf (asmfile, "%s", IDENTIFIER_POINTER (t));
CHARS (IDENTIFIER_LENGTH (t)); CHARS (IDENTIFIER_LENGTH (t));
...@@ -2386,7 +2385,7 @@ dbxout_symbol (tree decl, int local ATTRIBUTE_UNUSED) ...@@ -2386,7 +2385,7 @@ dbxout_symbol (tree decl, int local ATTRIBUTE_UNUSED)
case PARM_DECL: case PARM_DECL:
/* Parm decls go in their own separate chains /* Parm decls go in their own separate chains
and are output by dbxout_reg_parms and dbxout_parms. */ and are output by dbxout_reg_parms and dbxout_parms. */
abort (); gcc_unreachable ();
case RESULT_DECL: case RESULT_DECL:
/* Named return value, treat like a VAR_DECL. */ /* Named return value, treat like a VAR_DECL. */
......
...@@ -164,8 +164,7 @@ create_ddg_dependence (ddg_ptr g, ddg_node_ptr src_node, ...@@ -164,8 +164,7 @@ create_ddg_dependence (ddg_ptr g, ddg_node_ptr src_node,
if (interloop) if (interloop)
distance = 1; distance = 1;
if (!link) gcc_assert (link);
abort ();
/* Note: REG_DEP_ANTI applies to MEM ANTI_DEP as well!! */ /* Note: REG_DEP_ANTI applies to MEM ANTI_DEP as well!! */
if (REG_NOTE_KIND (link) == REG_DEP_ANTI) if (REG_NOTE_KIND (link) == REG_DEP_ANTI)
...@@ -240,8 +239,7 @@ add_deps_for_def (ddg_ptr g, struct df *df, struct ref *rd) ...@@ -240,8 +239,7 @@ add_deps_for_def (ddg_ptr g, struct df *df, struct ref *rd)
rtx use_insn = DF_REF_INSN (r_use->ref); rtx use_insn = DF_REF_INSN (r_use->ref);
ddg_node_ptr dest_node = get_node_of_insn (g, use_insn); ddg_node_ptr dest_node = get_node_of_insn (g, use_insn);
if (!src_node || !dest_node) gcc_assert (src_node && dest_node);
abort ();
/* Any such upwards exposed use appears before the rd def. */ /* Any such upwards exposed use appears before the rd def. */
use_before_def = true; use_before_def = true;
...@@ -296,8 +294,7 @@ add_deps_for_use (ddg_ptr g, struct df *df, struct ref *use) ...@@ -296,8 +294,7 @@ add_deps_for_use (ddg_ptr g, struct df *df, struct ref *use)
use_node = get_node_of_insn (g, use->insn); use_node = get_node_of_insn (g, use->insn);
def_node = get_node_of_insn (g, first_def->insn); def_node = get_node_of_insn (g, first_def->insn);
if (!use_node || !def_node) gcc_assert (use_node && def_node);
abort ();
/* Make sure there are no defs after USE. */ /* Make sure there are no defs after USE. */
for (i = use_node->cuid + 1; i < g->num_nodes; i++) for (i = use_node->cuid + 1; i < g->num_nodes; i++)
...@@ -484,10 +481,8 @@ create_ddg (basic_block bb, struct df *df, int closing_branch_deps) ...@@ -484,10 +481,8 @@ create_ddg (basic_block bb, struct df *df, int closing_branch_deps)
} }
if (JUMP_P (insn)) if (JUMP_P (insn))
{ {
if (g->closing_branch) gcc_assert (!g->closing_branch);
abort (); /* Found two branches in DDG. */ g->closing_branch = &g->nodes[i];
else
g->closing_branch = &g->nodes[i];
} }
else if (GET_CODE (PATTERN (insn)) == USE) else if (GET_CODE (PATTERN (insn)) == USE)
{ {
...@@ -505,9 +500,10 @@ create_ddg (basic_block bb, struct df *df, int closing_branch_deps) ...@@ -505,9 +500,10 @@ create_ddg (basic_block bb, struct df *df, int closing_branch_deps)
g->nodes[i++].insn = insn; g->nodes[i++].insn = insn;
first_note = NULL_RTX; first_note = NULL_RTX;
} }
if (!g->closing_branch) /* We must have found a branch in DDG. */
abort (); /* Found no branch in DDG. */ gcc_assert (g->closing_branch);
/* Build the data dependency graph. */ /* Build the data dependency graph. */
build_intra_loop_deps (g); build_intra_loop_deps (g);
...@@ -646,8 +642,8 @@ add_edge_to_ddg (ddg_ptr g ATTRIBUTE_UNUSED, ddg_edge_ptr e) ...@@ -646,8 +642,8 @@ add_edge_to_ddg (ddg_ptr g ATTRIBUTE_UNUSED, ddg_edge_ptr e)
ddg_node_ptr src = e->src; ddg_node_ptr src = e->src;
ddg_node_ptr dest = e->dest; ddg_node_ptr dest = e->dest;
if (!src->successors || !dest->predecessors) /* Should have allocated the sbitmaps. */
abort (); /* Should have allocated the sbitmaps. */ gcc_assert (src->successors && dest->predecessors);
SET_BIT (src->successors, dest->cuid); SET_BIT (src->successors, dest->cuid);
SET_BIT (dest->predecessors, src->cuid); SET_BIT (dest->predecessors, src->cuid);
......
...@@ -648,8 +648,8 @@ df_ref_unlink (struct df_link **phead, struct ref *ref) ...@@ -648,8 +648,8 @@ df_ref_unlink (struct df_link **phead, struct ref *ref)
/* Only a single ref. It must be the one we want. /* Only a single ref. It must be the one we want.
If not, the def-use and use-def chains are likely to If not, the def-use and use-def chains are likely to
be inconsistent. */ be inconsistent. */
if (link->ref != ref) gcc_assert (link->ref == ref);
abort ();
/* Now have an empty chain. */ /* Now have an empty chain. */
*phead = NULL; *phead = NULL;
} }
...@@ -808,8 +808,7 @@ df_ref_record (struct df *df, rtx reg, rtx *loc, rtx insn, ...@@ -808,8 +808,7 @@ df_ref_record (struct df *df, rtx reg, rtx *loc, rtx insn,
{ {
unsigned int regno; unsigned int regno;
if (!REG_P (reg) && GET_CODE (reg) != SUBREG) gcc_assert (REG_P (reg) || GET_CODE (reg) == SUBREG);
abort ();
/* For the reg allocator we are interested in some SUBREG rtx's, but not /* For the reg allocator we are interested in some SUBREG rtx's, but not
all. Notably only those representing a word extraction from a multi-word all. Notably only those representing a word extraction from a multi-word
...@@ -1040,10 +1039,10 @@ df_uses_record (struct df *df, rtx *loc, enum df_ref_type ref_type, ...@@ -1040,10 +1039,10 @@ df_uses_record (struct df *df, rtx *loc, enum df_ref_type ref_type,
bb, insn, 0); bb, insn, 0);
break; break;
case STRICT_LOW_PART: case STRICT_LOW_PART:
/* A strict_low_part uses the whole REG and not just the SUBREG. */ /* A strict_low_part uses the whole REG and not just the
SUBREG. */
dst = XEXP (dst, 0); dst = XEXP (dst, 0);
if (GET_CODE (dst) != SUBREG) gcc_assert (GET_CODE (dst) == SUBREG);
abort ();
df_uses_record (df, &SUBREG_REG (dst), DF_REF_REG_USE, bb, df_uses_record (df, &SUBREG_REG (dst), DF_REF_REG_USE, bb,
insn, DF_REF_READ_WRITE); insn, DF_REF_READ_WRITE);
break; break;
...@@ -1056,7 +1055,7 @@ df_uses_record (struct df *df, rtx *loc, enum df_ref_type ref_type, ...@@ -1056,7 +1055,7 @@ df_uses_record (struct df *df, rtx *loc, enum df_ref_type ref_type,
dst = XEXP (dst, 0); dst = XEXP (dst, 0);
break; break;
default: default:
abort (); gcc_unreachable ();
} }
return; return;
} }
...@@ -1311,8 +1310,7 @@ df_reg_def_chain_create (struct df *df, bitmap blocks, bool redo) ...@@ -1311,8 +1310,7 @@ df_reg_def_chain_create (struct df *df, bitmap blocks, bool redo)
{ {
#ifdef ENABLE_CHECKING #ifdef ENABLE_CHECKING
for (regno = 0; regno < df->n_regs; regno++) for (regno = 0; regno < df->n_regs; regno++)
if (df->regs[regno].defs) gcc_assert (!df->regs[regno].defs);
abort ();
#endif #endif
/* Pretend that all defs are new. */ /* Pretend that all defs are new. */
...@@ -1393,8 +1391,7 @@ df_reg_use_chain_create (struct df *df, bitmap blocks, bool redo) ...@@ -1393,8 +1391,7 @@ df_reg_use_chain_create (struct df *df, bitmap blocks, bool redo)
{ {
#ifdef ENABLE_CHECKING #ifdef ENABLE_CHECKING
for (regno = 0; regno < df->n_regs; regno++) for (regno = 0; regno < df->n_regs; regno++)
if (df->regs[regno].uses) gcc_assert (!df->regs[regno].uses);
abort ();
#endif #endif
/* Pretend that all uses are new. */ /* Pretend that all uses are new. */
...@@ -2298,8 +2295,7 @@ df_analyze (struct df *df, bitmap blocks, int flags) ...@@ -2298,8 +2295,7 @@ df_analyze (struct df *df, bitmap blocks, int flags)
/* We could deal with additional basic blocks being created by /* We could deal with additional basic blocks being created by
rescanning everything again. */ rescanning everything again. */
if (df->n_bbs && df->n_bbs != (unsigned int) last_basic_block) gcc_assert (!df->n_bbs || df->n_bbs == (unsigned int) last_basic_block);
abort ();
update = df_modified_p (df, blocks); update = df_modified_p (df, blocks);
if (update || (flags != df->flags)) if (update || (flags != df->flags))
...@@ -2321,8 +2317,7 @@ df_analyze (struct df *df, bitmap blocks, int flags) ...@@ -2321,8 +2317,7 @@ df_analyze (struct df *df, bitmap blocks, int flags)
if (blocks == (bitmap) -1) if (blocks == (bitmap) -1)
blocks = df->bbs_modified; blocks = df->bbs_modified;
if (! df->n_bbs) gcc_assert (df->n_bbs);
abort ();
df_analyze_1 (df, blocks, flags, 1); df_analyze_1 (df, blocks, flags, 1);
bitmap_zero (df->bbs_modified); bitmap_zero (df->bbs_modified);
...@@ -2631,8 +2626,7 @@ df_insn_delete (struct df *df, basic_block bb ATTRIBUTE_UNUSED, rtx insn) ...@@ -2631,8 +2626,7 @@ df_insn_delete (struct df *df, basic_block bb ATTRIBUTE_UNUSED, rtx insn)
handle the JUMP_LABEL? */ handle the JUMP_LABEL? */
/* We should not be deleting the NOTE_INSN_BASIC_BLOCK or label. */ /* We should not be deleting the NOTE_INSN_BASIC_BLOCK or label. */
if (insn == BB_HEAD (bb)) gcc_assert (insn != BB_HEAD (bb));
abort ();
/* Delete the insn. */ /* Delete the insn. */
delete_insn (insn); delete_insn (insn);
...@@ -2796,24 +2790,17 @@ df_refs_reg_replace (struct df *df, bitmap blocks, struct df_link *chain, rtx ol ...@@ -2796,24 +2790,17 @@ df_refs_reg_replace (struct df *df, bitmap blocks, struct df_link *chain, rtx ol
if (! INSN_P (insn)) if (! INSN_P (insn))
continue; continue;
if (bitmap_bit_p (blocks, DF_REF_BBNO (ref))) gcc_assert (bitmap_bit_p (blocks, DF_REF_BBNO (ref)));
{
df_ref_reg_replace (df, ref, oldreg, newreg); df_ref_reg_replace (df, ref, oldreg, newreg);
/* Replace occurrences of the reg within the REG_NOTES. */ /* Replace occurrences of the reg within the REG_NOTES. */
if ((! link->next || DF_REF_INSN (ref) if ((! link->next || DF_REF_INSN (ref)
!= DF_REF_INSN (link->next->ref)) != DF_REF_INSN (link->next->ref))
&& REG_NOTES (insn)) && REG_NOTES (insn))
{
args.insn = insn;
for_each_rtx (&REG_NOTES (insn), df_rtx_reg_replace, &args);
}
}
else
{ {
/* Temporary check to ensure that we have a grip on which args.insn = insn;
regs should be replaced. */ for_each_rtx (&REG_NOTES (insn), df_rtx_reg_replace, &args);
abort ();
} }
} }
} }
...@@ -2844,8 +2831,7 @@ df_ref_reg_replace (struct df *df, struct ref *ref, rtx oldreg, rtx newreg) ...@@ -2844,8 +2831,7 @@ df_ref_reg_replace (struct df *df, struct ref *ref, rtx oldreg, rtx newreg)
if (! INSN_P (DF_REF_INSN (ref))) if (! INSN_P (DF_REF_INSN (ref)))
return 0; return 0;
if (oldreg && oldreg != DF_REF_REG (ref)) gcc_assert (!oldreg || oldreg == DF_REF_REG (ref));
abort ();
if (! validate_change (DF_REF_INSN (ref), DF_REF_LOC (ref), newreg, 1)) if (! validate_change (DF_REF_INSN (ref), DF_REF_LOC (ref), newreg, 1))
return 0; return 0;
...@@ -2911,10 +2897,8 @@ df_insns_modify (struct df *df, basic_block bb, rtx first_insn, rtx last_insn) ...@@ -2911,10 +2897,8 @@ df_insns_modify (struct df *df, basic_block bb, rtx first_insn, rtx last_insn)
/* A non-const call should not have slipped through the net. If /* A non-const call should not have slipped through the net. If
it does, we need to create a new basic block. Ouch. The it does, we need to create a new basic block. Ouch. The
same applies for a label. */ same applies for a label. */
if ((CALL_P (insn) gcc_assert ((!CALL_P (insn) || CONST_OR_PURE_CALL_P (insn))
&& ! CONST_OR_PURE_CALL_P (insn)) && !LABEL_P (insn));
|| LABEL_P (insn))
abort ();
uid = INSN_UID (insn); uid = INSN_UID (insn);
...@@ -2937,8 +2921,7 @@ df_pattern_emit_before (struct df *df, rtx pattern, basic_block bb, rtx insn) ...@@ -2937,8 +2921,7 @@ df_pattern_emit_before (struct df *df, rtx pattern, basic_block bb, rtx insn)
rtx prev_insn = PREV_INSN (insn); rtx prev_insn = PREV_INSN (insn);
/* We should not be inserting before the start of the block. */ /* We should not be inserting before the start of the block. */
if (insn == BB_HEAD (bb)) gcc_assert (insn != BB_HEAD (bb));
abort ();
ret_insn = emit_insn_before (pattern, insn); ret_insn = emit_insn_before (pattern, insn);
if (ret_insn == insn) if (ret_insn == insn)
return ret_insn; return ret_insn;
...@@ -3196,10 +3179,7 @@ df_bb_reg_live_start_p (struct df *df, basic_block bb, rtx reg) ...@@ -3196,10 +3179,7 @@ df_bb_reg_live_start_p (struct df *df, basic_block bb, rtx reg)
{ {
struct bb_info *bb_info = DF_BB_INFO (df, bb); struct bb_info *bb_info = DF_BB_INFO (df, bb);
#ifdef ENABLE_CHECKING gcc_assert (bb_info->lr_in);
if (! bb_info->lr_in)
abort ();
#endif
return bitmap_bit_p (bb_info->lr_in, REGNO (reg)); return bitmap_bit_p (bb_info->lr_in, REGNO (reg));
} }
...@@ -3211,10 +3191,7 @@ df_bb_reg_live_end_p (struct df *df, basic_block bb, rtx reg) ...@@ -3211,10 +3191,7 @@ df_bb_reg_live_end_p (struct df *df, basic_block bb, rtx reg)
{ {
struct bb_info *bb_info = DF_BB_INFO (df, bb); struct bb_info *bb_info = DF_BB_INFO (df, bb);
#ifdef ENABLE_CHECKING gcc_assert (bb_info->lr_in);
if (! bb_info->lr_in)
abort ();
#endif
return bitmap_bit_p (bb_info->lr_out, REGNO (reg)); return bitmap_bit_p (bb_info->lr_out, REGNO (reg));
} }
...@@ -3234,9 +3211,8 @@ df_bb_regs_lives_compare (struct df *df, basic_block bb, rtx reg1, rtx reg2) ...@@ -3234,9 +3211,8 @@ df_bb_regs_lives_compare (struct df *df, basic_block bb, rtx reg1, rtx reg2)
/* The regs must be local to BB. */ /* The regs must be local to BB. */
if (df_regno_bb (df, regno1) != bb gcc_assert (df_regno_bb (df, regno1) == bb
|| df_regno_bb (df, regno2) != bb) && df_regno_bb (df, regno2) == bb);
abort ();
def2 = df_bb_regno_first_def_find (df, bb, regno2); def2 = df_bb_regno_first_def_find (df, bb, regno2);
use1 = df_bb_regno_last_use_find (df, bb, regno1); use1 = df_bb_regno_last_use_find (df, bb, regno1);
...@@ -3380,8 +3356,7 @@ df_bb_single_def_use_insn_find (struct df *df, basic_block bb, rtx insn, rtx reg ...@@ -3380,8 +3356,7 @@ df_bb_single_def_use_insn_find (struct df *df, basic_block bb, rtx insn, rtx reg
def = df_bb_insn_regno_first_def_find (df, bb, insn, REGNO (reg)); def = df_bb_insn_regno_first_def_find (df, bb, insn, REGNO (reg));
if (! def) gcc_assert (def);
abort ();
du_link = DF_REF_CHAIN (def); du_link = DF_REF_CHAIN (def);
...@@ -3761,7 +3736,7 @@ dataflow_set_a_op_b (enum set_representation repr, ...@@ -3761,7 +3736,7 @@ dataflow_set_a_op_b (enum set_representation repr,
break; break;
default: default:
abort (); gcc_unreachable ();
} }
break; break;
...@@ -3777,12 +3752,12 @@ dataflow_set_a_op_b (enum set_representation repr, ...@@ -3777,12 +3752,12 @@ dataflow_set_a_op_b (enum set_representation repr,
break; break;
default: default:
abort (); gcc_unreachable ();
} }
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -3800,7 +3775,7 @@ dataflow_set_copy (enum set_representation repr, void *dest, void *src) ...@@ -3800,7 +3775,7 @@ dataflow_set_copy (enum set_representation repr, void *dest, void *src)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -3816,8 +3791,7 @@ hybrid_search (basic_block bb, struct dataflow *dataflow, ...@@ -3816,8 +3791,7 @@ hybrid_search (basic_block bb, struct dataflow *dataflow,
edge e; edge e;
SET_BIT (visited, bb->index); SET_BIT (visited, bb->index);
if (!TEST_BIT (pending, bb->index)) gcc_assert (TEST_BIT (pending, bb->index));
abort ();
RESET_BIT (pending, i); RESET_BIT (pending, i);
#define HS(E_ANTI, E_ANTI_NEXT, E_ANTI_BB, E_ANTI_START_BB, IN_SET, \ #define HS(E_ANTI, E_ANTI_NEXT, E_ANTI_BB, E_ANTI_START_BB, IN_SET, \
......
...@@ -174,8 +174,7 @@ diagnostic_build_prefix (diagnostic_info *diagnostic) ...@@ -174,8 +174,7 @@ diagnostic_build_prefix (diagnostic_info *diagnostic)
"must-not-happen" "must-not-happen"
}; };
expanded_location s = expand_location (diagnostic->location); expanded_location s = expand_location (diagnostic->location);
if (diagnostic->kind >= DK_LAST_DIAGNOSTIC_KIND) gcc_assert (diagnostic->kind < DK_LAST_DIAGNOSTIC_KIND);
abort();
return s.file return s.file
? build_message_string ("%s:%d: %s", ? build_message_string ("%s:%d: %s",
...@@ -194,8 +193,7 @@ diagnostic_count_diagnostic (diagnostic_context *context, ...@@ -194,8 +193,7 @@ diagnostic_count_diagnostic (diagnostic_context *context,
switch (kind) switch (kind)
{ {
default: default:
abort(); gcc_unreachable ();
break;
case DK_ICE: case DK_ICE:
#ifndef ENABLE_CHECKING #ifndef ENABLE_CHECKING
......
...@@ -265,7 +265,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -265,7 +265,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
case COMPOUND_EXPR: case COMPOUND_EXPR:
case COND_EXPR: case COND_EXPR:
/* Lowered by gimplify.c. */ /* Lowered by gimplify.c. */
abort (); gcc_unreachable ();
case COMPONENT_REF: case COMPONENT_REF:
case BIT_FIELD_REF: case BIT_FIELD_REF:
...@@ -301,10 +301,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -301,10 +301,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
{ {
tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_COMPLEX_FLOAT gcc_assert (GET_MODE_CLASS (TYPE_MODE (inner_type))
|| GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_COMPLEX_INT) != MODE_COMPLEX_FLOAT);
abort (); gcc_assert (GET_MODE_CLASS (TYPE_MODE (inner_type))
else if (integer_zerop (TREE_OPERAND (exp, 1))) != MODE_COMPLEX_INT);
if (integer_zerop (TREE_OPERAND (exp, 1)))
do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label); do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label);
else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT
&& !can_compare_p (EQ, TYPE_MODE (inner_type), ccp_jump)) && !can_compare_p (EQ, TYPE_MODE (inner_type), ccp_jump))
...@@ -318,10 +320,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -318,10 +320,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
{ {
tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_COMPLEX_FLOAT gcc_assert (GET_MODE_CLASS (TYPE_MODE (inner_type))
|| GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_COMPLEX_INT) != MODE_COMPLEX_FLOAT);
abort (); gcc_assert (GET_MODE_CLASS (TYPE_MODE (inner_type))
else if (integer_zerop (TREE_OPERAND (exp, 1))) != MODE_COMPLEX_INT);
if (integer_zerop (TREE_OPERAND (exp, 1)))
do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label); do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label);
else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT
&& !can_compare_p (NE, TYPE_MODE (inner_type), ccp_jump)) && !can_compare_p (NE, TYPE_MODE (inner_type), ccp_jump))
...@@ -511,8 +515,10 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -511,8 +515,10 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
&& ! can_compare_p (NE, GET_MODE (temp), ccp_jump)) && ! can_compare_p (NE, GET_MODE (temp), ccp_jump))
/* Note swapping the labels gives us not-equal. */ /* Note swapping the labels gives us not-equal. */
do_jump_by_parts_equality_rtx (temp, if_true_label, if_false_label); do_jump_by_parts_equality_rtx (temp, if_true_label, if_false_label);
else if (GET_MODE (temp) != VOIDmode) else
{ {
gcc_assert (GET_MODE (temp) != VOIDmode);
/* The RTL optimizers prefer comparisons against pseudos. */ /* The RTL optimizers prefer comparisons against pseudos. */
if (GET_CODE (temp) == SUBREG) if (GET_CODE (temp) == SUBREG)
{ {
...@@ -528,8 +534,6 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -528,8 +534,6 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
GET_MODE (temp), NULL_RTX, GET_MODE (temp), NULL_RTX,
if_false_label, if_true_label); if_false_label, if_true_label);
} }
else
abort ();
} }
} }
......
...@@ -271,8 +271,7 @@ calc_dfs_tree_nonrec (struct dom_info *di, basic_block bb, ...@@ -271,8 +271,7 @@ calc_dfs_tree_nonrec (struct dom_info *di, basic_block bb,
e_next = bn->succ; e_next = bn->succ;
} }
if (bn == en_block) gcc_assert (bn != en_block);
abort ();
/* Fill the DFS tree info calculatable _before_ recursing. */ /* Fill the DFS tree info calculatable _before_ recursing. */
if (bb != en_block) if (bb != en_block)
...@@ -375,8 +374,7 @@ calc_dfs_tree (struct dom_info *di, enum cdi_direction reverse) ...@@ -375,8 +374,7 @@ calc_dfs_tree (struct dom_info *di, enum cdi_direction reverse)
di->nodes = di->dfsnum - 1; di->nodes = di->dfsnum - 1;
/* This aborts e.g. when there is _no_ path from ENTRY to EXIT at all. */ /* This aborts e.g. when there is _no_ path from ENTRY to EXIT at all. */
if (di->nodes != (unsigned int) n_basic_blocks + 1) gcc_assert (di->nodes == (unsigned int) n_basic_blocks + 1);
abort ();
} }
/* Compress the path from V to the root of its set and update path_min at the /* Compress the path from V to the root of its set and update path_min at the
...@@ -597,8 +595,7 @@ compute_dom_fast_query (enum cdi_direction dir) ...@@ -597,8 +595,7 @@ compute_dom_fast_query (enum cdi_direction dir)
int num = 0; int num = 0;
basic_block bb; basic_block bb;
if (dom_computed[dir] < DOM_NO_FAST_QUERY) gcc_assert (dom_computed[dir] >= DOM_NO_FAST_QUERY);
abort ();
if (dom_computed[dir] == DOM_OK) if (dom_computed[dir] == DOM_OK)
return; return;
...@@ -629,8 +626,7 @@ calculate_dominance_info (enum cdi_direction dir) ...@@ -629,8 +626,7 @@ calculate_dominance_info (enum cdi_direction dir)
if (dom_computed[dir] != DOM_NONE) if (dom_computed[dir] != DOM_NONE)
free_dominance_info (dir); free_dominance_info (dir);
if (n_bbs_in_dom_tree[dir]) gcc_assert (!n_bbs_in_dom_tree[dir]);
abort ();
FOR_ALL_BB (b) FOR_ALL_BB (b)
{ {
...@@ -672,8 +668,7 @@ free_dominance_info (enum cdi_direction dir) ...@@ -672,8 +668,7 @@ free_dominance_info (enum cdi_direction dir)
} }
/* If there are any nodes left, something is wrong. */ /* If there are any nodes left, something is wrong. */
if (n_bbs_in_dom_tree[dir]) gcc_assert (!n_bbs_in_dom_tree[dir]);
abort ();
dom_computed[dir] = DOM_NONE; dom_computed[dir] = DOM_NONE;
} }
...@@ -684,8 +679,7 @@ get_immediate_dominator (enum cdi_direction dir, basic_block bb) ...@@ -684,8 +679,7 @@ get_immediate_dominator (enum cdi_direction dir, basic_block bb)
{ {
struct et_node *node = bb->dom[dir]; struct et_node *node = bb->dom[dir];
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (!node->father) if (!node->father)
return NULL; return NULL;
...@@ -701,8 +695,7 @@ set_immediate_dominator (enum cdi_direction dir, basic_block bb, ...@@ -701,8 +695,7 @@ set_immediate_dominator (enum cdi_direction dir, basic_block bb,
{ {
struct et_node *node = bb->dom[dir]; struct et_node *node = bb->dom[dir];
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (node->father) if (node->father)
{ {
...@@ -726,8 +719,7 @@ get_dominated_by (enum cdi_direction dir, basic_block bb, basic_block **bbs) ...@@ -726,8 +719,7 @@ get_dominated_by (enum cdi_direction dir, basic_block bb, basic_block **bbs)
int n; int n;
struct et_node *node = bb->dom[dir], *son = node->son, *ason; struct et_node *node = bb->dom[dir], *son = node->son, *ason;
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (!son) if (!son)
{ {
...@@ -753,8 +745,7 @@ redirect_immediate_dominators (enum cdi_direction dir, basic_block bb, ...@@ -753,8 +745,7 @@ redirect_immediate_dominators (enum cdi_direction dir, basic_block bb,
{ {
struct et_node *bb_node = bb->dom[dir], *to_node = to->dom[dir], *son; struct et_node *bb_node = bb->dom[dir], *to_node = to->dom[dir], *son;
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (!bb_node->son) if (!bb_node->son)
return; return;
...@@ -775,8 +766,7 @@ redirect_immediate_dominators (enum cdi_direction dir, basic_block bb, ...@@ -775,8 +766,7 @@ redirect_immediate_dominators (enum cdi_direction dir, basic_block bb,
basic_block basic_block
nearest_common_dominator (enum cdi_direction dir, basic_block bb1, basic_block bb2) nearest_common_dominator (enum cdi_direction dir, basic_block bb1, basic_block bb2)
{ {
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (!bb1) if (!bb1)
return bb2; return bb2;
...@@ -792,8 +782,7 @@ dominated_by_p (enum cdi_direction dir, basic_block bb1, basic_block bb2) ...@@ -792,8 +782,7 @@ dominated_by_p (enum cdi_direction dir, basic_block bb1, basic_block bb2)
{ {
struct et_node *n1 = bb1->dom[dir], *n2 = bb2->dom[dir]; struct et_node *n1 = bb1->dom[dir], *n2 = bb2->dom[dir];
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (dom_computed[dir] == DOM_OK) if (dom_computed[dir] == DOM_OK)
return (n1->dfs_num_in >= n2->dfs_num_in return (n1->dfs_num_in >= n2->dfs_num_in
...@@ -809,8 +798,7 @@ verify_dominators (enum cdi_direction dir) ...@@ -809,8 +798,7 @@ verify_dominators (enum cdi_direction dir)
int err = 0; int err = 0;
basic_block bb; basic_block bb;
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
FOR_EACH_BB (bb) FOR_EACH_BB (bb)
{ {
...@@ -838,8 +826,7 @@ verify_dominators (enum cdi_direction dir) ...@@ -838,8 +826,7 @@ verify_dominators (enum cdi_direction dir)
} }
} }
if (err) gcc_assert (!err);
abort ();
} }
/* Determine immediate dominator (or postdominator, according to DIR) of BB, /* Determine immediate dominator (or postdominator, according to DIR) of BB,
...@@ -853,8 +840,7 @@ recount_dominator (enum cdi_direction dir, basic_block bb) ...@@ -853,8 +840,7 @@ recount_dominator (enum cdi_direction dir, basic_block bb)
basic_block dom_bb = NULL; basic_block dom_bb = NULL;
edge e; edge e;
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
if (dir == CDI_DOMINATORS) if (dir == CDI_DOMINATORS)
{ {
...@@ -889,8 +875,7 @@ iterate_fix_dominators (enum cdi_direction dir, basic_block *bbs, int n) ...@@ -889,8 +875,7 @@ iterate_fix_dominators (enum cdi_direction dir, basic_block *bbs, int n)
int i, changed = 1; int i, changed = 1;
basic_block old_dom, new_dom; basic_block old_dom, new_dom;
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
set_immediate_dominator (dir, bbs[i], NULL); set_immediate_dominator (dir, bbs[i], NULL);
...@@ -911,18 +896,14 @@ iterate_fix_dominators (enum cdi_direction dir, basic_block *bbs, int n) ...@@ -911,18 +896,14 @@ iterate_fix_dominators (enum cdi_direction dir, basic_block *bbs, int n)
} }
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
if (!get_immediate_dominator (dir, bbs[i])) gcc_assert (get_immediate_dominator (dir, bbs[i]));
abort ();
} }
void void
add_to_dominance_info (enum cdi_direction dir, basic_block bb) add_to_dominance_info (enum cdi_direction dir, basic_block bb)
{ {
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort (); gcc_assert (!bb->dom[dir]);
if (bb->dom[dir])
abort ();
n_bbs_in_dom_tree[dir]++; n_bbs_in_dom_tree[dir]++;
...@@ -935,8 +916,7 @@ add_to_dominance_info (enum cdi_direction dir, basic_block bb) ...@@ -935,8 +916,7 @@ add_to_dominance_info (enum cdi_direction dir, basic_block bb)
void void
delete_from_dominance_info (enum cdi_direction dir, basic_block bb) delete_from_dominance_info (enum cdi_direction dir, basic_block bb)
{ {
if (!dom_computed[dir]) gcc_assert (dom_computed[dir]);
abort ();
et_free_tree (bb->dom[dir]); et_free_tree (bb->dom[dir]);
bb->dom[dir] = NULL; bb->dom[dir] = NULL;
......
...@@ -333,8 +333,9 @@ size_of_encoded_value (int encoding) ...@@ -333,8 +333,9 @@ size_of_encoded_value (int encoding)
return 4; return 4;
case DW_EH_PE_udata8: case DW_EH_PE_udata8:
return 8; return 8;
default:
gcc_unreachable ();
} }
abort ();
} }
/* Yield a name for a given pointer encoding. */ /* Yield a name for a given pointer encoding. */
...@@ -486,12 +487,12 @@ eh_data_format_name (int format) ...@@ -486,12 +487,12 @@ eh_data_format_name (int format)
#if HAVE_DESIGNATED_INITIALIZERS #if HAVE_DESIGNATED_INITIALIZERS
}; };
if (format < 0 || format > 0xff || format_names[format] == NULL) gcc_assert (format >= 0 && format < 0x100 && format_names[format]);
abort ();
return format_names[format]; return format_names[format];
#else #else
} }
abort (); gcc_unreachable ();
#endif #endif
} }
...@@ -635,7 +636,7 @@ dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED, ...@@ -635,7 +636,7 @@ dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED,
fputc ('-', asm_out_file); fputc ('-', asm_out_file);
assemble_name (asm_out_file, lab2); assemble_name (asm_out_file, lab2);
#else #else
abort (); gcc_unreachable ();
#endif #endif
if (flag_debug_asm && comment) if (flag_debug_asm && comment)
...@@ -663,7 +664,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, ...@@ -663,7 +664,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED,
fputc ('-', asm_out_file); fputc ('-', asm_out_file);
assemble_name (asm_out_file, lab2); assemble_name (asm_out_file, lab2);
#else #else
abort (); gcc_unreachable ();
#endif #endif
if (flag_debug_asm && comment) if (flag_debug_asm && comment)
...@@ -704,8 +705,7 @@ dw2_force_const_mem (rtx x) ...@@ -704,8 +705,7 @@ dw2_force_const_mem (rtx x)
if (! indirect_pool) if (! indirect_pool)
indirect_pool = splay_tree_new_ggc (splay_tree_compare_pointers); indirect_pool = splay_tree_new_ggc (splay_tree_compare_pointers);
if (GET_CODE (x) != SYMBOL_REF) gcc_assert (GET_CODE (x) == SYMBOL_REF);
abort ();
str = targetm.strip_name_encoding (XSTR (x, 0)); str = targetm.strip_name_encoding (XSTR (x, 0));
node = splay_tree_lookup (indirect_pool, (splay_tree_key) str); node = splay_tree_lookup (indirect_pool, (splay_tree_key) str);
...@@ -836,8 +836,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr, ...@@ -836,8 +836,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr,
break; break;
case DW_EH_PE_pcrel: case DW_EH_PE_pcrel:
if (GET_CODE (addr) != SYMBOL_REF) gcc_assert (GET_CODE (addr) == SYMBOL_REF);
abort ();
#ifdef ASM_OUTPUT_DWARF_PCREL #ifdef ASM_OUTPUT_DWARF_PCREL
ASM_OUTPUT_DWARF_PCREL (asm_out_file, size, XSTR (addr, 0)); ASM_OUTPUT_DWARF_PCREL (asm_out_file, size, XSTR (addr, 0));
#else #else
...@@ -848,7 +847,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr, ...@@ -848,7 +847,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr,
default: default:
/* Other encodings should have been handled by /* Other encodings should have been handled by
ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX. */ ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX. */
abort (); gcc_unreachable ();
} }
#ifdef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX #ifdef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
......
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