Commit fbc848cc by Nathan Sidwell Committed by Nathan Sidwell

value-prof.c (rtl_find_values_to_profile): Use gcc_assert and gcc_unreachable.

	* value-prof.c (rtl_find_values_to_profile): Use gcc_assert and
	gcc_unreachable.
	(rtl_register_value_prof_hooks,
	tree_value_profile_transformations,
	tree_register_value_prof_hooks): Likewise.
	* var-tracking.c (stack_adjust_offset_pre_post,
	variable_htab_free, variable_union, dataflow_set_different_2,
	count_uses, variable_was_changed, set_frame_base_location,
	set_variable_part, emit_note_insn_var_location, vt_emit_notes,
	vt_add_function_parameters): Likewise.
	* varasm.c (named_section_real, named_section, make_decl_rtl,
	asm_emit_uninitialised, assemble_integer, decode_addr_const,
	const_hash_1, compare_constant, copy_constant, force_const_mem,
	output_constant_pool_2, output_constant_pool_1, output_constant,
	output_constructor, make_decl_one_only, decl_tls_model,
	default_no_named_section, default_elf_select_section_1,
	default_unique_section_1): Likewise.
	* vec.c (vec_gc_o_reserve, vec_heap_o_reserve): Likewise.
	* vmsdbgout.c (addr_const_to_string): Likewise.

From-SVN: r96241
parent 4fd24a75
2005-03-10 Nathan Sidwell <nathan@codesourcery.com>
* value-prof.c (rtl_find_values_to_profile): Use gcc_assert and
gcc_unreachable.
(rtl_register_value_prof_hooks,
tree_value_profile_transformations,
tree_register_value_prof_hooks): Likewise.
* var-tracking.c (stack_adjust_offset_pre_post,
variable_htab_free, variable_union, dataflow_set_different_2,
count_uses, variable_was_changed, set_frame_base_location,
set_variable_part, emit_note_insn_var_location, vt_emit_notes,
vt_add_function_parameters): Likewise.
* varasm.c (named_section_real, named_section, make_decl_rtl,
asm_emit_uninitialised, assemble_integer, decode_addr_const,
const_hash_1, compare_constant, copy_constant, force_const_mem,
output_constant_pool_2, output_constant_pool_1, output_constant,
output_constructor, make_decl_one_only, decl_tls_model,
default_no_named_section, default_elf_select_section_1,
default_unique_section_1): Likewise.
* vec.c (vec_gc_o_reserve, vec_heap_o_reserve): Likewise.
* vmsdbgout.c (addr_const_to_string): Likewise.
PR c++/20375
* function.c (struct assign_parm_data_one): Remove last_named
field.
......
......@@ -360,7 +360,7 @@ rtl_find_values_to_profile (histogram_values *values)
break;
default:
abort ();
gcc_unreachable ();
}
}
allocate_reg_info (max_reg_num (), FALSE, FALSE);
......@@ -1032,21 +1032,20 @@ void
rtl_register_value_prof_hooks (void)
{
value_prof_hooks = &rtl_value_prof_hooks;
if (ir_type ())
abort ();
gcc_assert (!ir_type ());
}
/* Tree-based versions are stubs for now. */
static void
tree_find_values_to_profile (histogram_values *values ATTRIBUTE_UNUSED)
{
abort ();
gcc_unreachable ();
}
static bool
tree_value_profile_transformations (void)
{
abort ();
gcc_unreachable ();
}
static struct value_prof_hooks tree_value_prof_hooks = {
......@@ -1058,8 +1057,7 @@ void
tree_register_value_prof_hooks (void)
{
value_prof_hooks = &tree_value_prof_hooks;
if (!ir_type ())
abort ();
gcc_assert (ir_type ());
}
/* IR-independent entry points. */
......
......@@ -387,9 +387,9 @@ stack_adjust_offset_pre_post (rtx pattern, HOST_WIDE_INT *pre,
{
rtx val = XEXP (XEXP (src, 1), 1);
/* We handle only adjustments by constant amount. */
if (GET_CODE (XEXP (src, 1)) != PLUS ||
GET_CODE (val) != CONST_INT)
abort ();
gcc_assert (GET_CODE (XEXP (src, 1)) == PLUS &&
GET_CODE (val) == CONST_INT);
if (code == PRE_MODIFY)
*pre -= INTVAL (val);
else
......@@ -639,10 +639,7 @@ variable_htab_free (void *elem)
variable var = (variable) elem;
location_chain node, next;
#ifdef ENABLE_CHECKING
if (var->refcount <= 0)
abort ();
#endif
gcc_assert (var->refcount > 0);
var->refcount--;
if (var->refcount > 0)
......@@ -1019,22 +1016,14 @@ variable_union (void **slot, void *data)
a copy of the variable. */
for (k = 0; k < src->n_var_parts; k++)
{
gcc_assert (!src->var_part[k].loc_chain
== !src->var_part[k].cur_loc);
if (src->var_part[k].loc_chain)
{
#ifdef ENABLE_CHECKING
if (src->var_part[k].cur_loc == NULL)
abort ();
#endif
gcc_assert (src->var_part[k].cur_loc);
if (src->var_part[k].cur_loc != src->var_part[k].loc_chain->loc)
break;
}
#ifdef ENABLE_CHECKING
else
{
if (src->var_part[k].cur_loc != NULL)
abort ();
}
#endif
}
if (k < src->n_var_parts)
unshare_variable (set, src);
......@@ -1047,10 +1036,7 @@ variable_union (void **slot, void *data)
else
dst = *dstp;
#ifdef ENABLE_CHECKING
if (src->n_var_parts == 0)
abort ();
#endif
gcc_assert (src->n_var_parts);
/* Count the number of location parts, result is K. */
for (i = 0, j = 0, k = 0;
......@@ -1068,12 +1054,10 @@ variable_union (void **slot, void *data)
}
k += src->n_var_parts - i;
k += dst->n_var_parts - j;
#ifdef ENABLE_CHECKING
/* We track only variables whose size is <= MAX_VAR_PARTS bytes
thus there are at most MAX_VAR_PARTS different offsets. */
if (k > MAX_VAR_PARTS)
abort ();
#endif
gcc_assert (k <= MAX_VAR_PARTS);
if (dst->refcount > 1 && dst->n_var_parts != k)
dst = unshare_variable (set, dst);
......@@ -1356,12 +1340,9 @@ dataflow_set_different_2 (void **slot, void *data)
return 0;
}
#ifdef ENABLE_CHECKING
/* If both variables are defined they have been already checked for
equivalence. */
if (variable_different_p (var1, var2, false))
abort ();
#endif
gcc_assert (!variable_different_p (var1, var2, false));
/* Continue traversing the hash table. */
return 1;
......@@ -1517,17 +1498,14 @@ count_uses (rtx *loc, void *insn)
if (REG_P (*loc))
{
#ifdef ENABLE_CHECKING
if (REGNO (*loc) >= FIRST_PSEUDO_REGISTER)
abort ();
#endif
VTI (bb)->n_mos++;
gcc_assert (REGNO (*loc) < FIRST_PSEUDO_REGISTER);
VTI (bb)->n_mos++;
}
else if (MEM_P (*loc)
&& MEM_EXPR (*loc)
&& track_expr_p (MEM_EXPR (*loc)))
{
VTI (bb)->n_mos++;
VTI (bb)->n_mos++;
}
return 0;
......@@ -1922,10 +1900,7 @@ variable_was_changed (variable var, htab_t htab)
}
else
{
#ifdef ENABLE_CHECKING
if (!htab)
abort ();
#endif
gcc_assert (htab);
if (var->n_var_parts == 0)
{
void **slot = htab_find_slot_with_hash (htab, var->decl, hash,
......@@ -1947,16 +1922,10 @@ set_frame_base_location (dataflow_set *set, rtx loc)
var = htab_find_with_hash (set->vars, frame_base_decl,
VARIABLE_HASH_VAL (frame_base_decl));
#ifdef ENABLE_CHECKING
if (!var)
abort ();
if (var->n_var_parts != 1)
abort ();
if (var->var_part[0].offset != 0)
abort ();
if (!var->var_part[0].loc_chain)
abort ();
#endif
gcc_assert (var);
gcc_assert (var->n_var_parts == 1);
gcc_assert (!var->var_part[0].offset);
gcc_assert (var->var_part[0].loc_chain);
/* If frame_base_decl is shared unshare it first. */
if (var->refcount > 1)
......@@ -2040,12 +2009,9 @@ set_variable_part (dataflow_set *set, rtx loc, tree decl, HOST_WIDE_INT offset)
if (var->refcount > 1)
var = unshare_variable (set, var);
#ifdef ENABLE_CHECKING
/* We track only variables whose size is <= MAX_VAR_PARTS bytes
thus there are at most MAX_VAR_PARTS different offsets. */
if (var->n_var_parts >= MAX_VAR_PARTS)
abort ();
#endif
gcc_assert (var->n_var_parts < MAX_VAR_PARTS);
/* We have to move the elements of array starting at index low to the
next position. */
......@@ -2207,10 +2173,7 @@ emit_note_insn_var_location (void **varp, void *data)
HOST_WIDE_INT last_limit;
tree type_size_unit;
#ifdef ENABLE_CHECKING
if (!var->decl)
abort ();
#endif
gcc_assert (var->decl);
complete = true;
last_limit = 0;
......@@ -2447,10 +2410,7 @@ vt_emit_notes (void)
dataflow_set *last_out;
dataflow_set empty;
#ifdef ENABLE_CHECKING
if (htab_elements (changed_variables))
abort ();
#endif
gcc_assert (!htab_elements (changed_variables));
/* Enable emitting notes by functions (mainly by set_variable_part and
delete_variable_part). */
......@@ -2536,20 +2496,14 @@ vt_add_function_parameters (void)
if (!decl)
continue;
#ifdef ENABLE_CHECKING
if (parm != decl)
abort ();
#endif
gcc_assert (parm == decl);
incoming = eliminate_regs (incoming, 0, NULL_RTX);
out = &VTI (ENTRY_BLOCK_PTR)->out;
if (REG_P (incoming))
{
#ifdef ENABLE_CHECKING
if (REGNO (incoming) >= FIRST_PSEUDO_REGISTER)
abort ();
#endif
gcc_assert (REGNO (incoming) < FIRST_PSEUDO_REGISTER);
attrs_list_insert (&out->regs[REGNO (incoming)],
parm, offset, incoming);
set_variable_part (out, incoming, parm, offset);
......
......@@ -66,8 +66,7 @@ vec_gc_o_reserve (void *vec, int reserve, size_t vec_offset, size_t elt_size
else
alloc = 4;
if (pfx && pfx->alloc >= alloc)
abort ();
gcc_assert (!pfx || pfx->alloc < alloc);
vec = ggc_realloc_stat (vec, vec_offset + alloc * elt_size PASS_MEM_STAT);
((struct vec_prefix *)vec)->alloc = alloc;
......@@ -117,8 +116,7 @@ vec_heap_o_reserve (void *vec, int reserve, size_t vec_offset, size_t elt_size
else
alloc = 4;
if (pfx && pfx->alloc >= alloc)
abort ();
gcc_assert (!pfx || pfx->alloc < alloc);
vec = xrealloc (vec, vec_offset + alloc * elt_size);
((struct vec_prefix *)vec)->alloc = alloc;
......
......@@ -427,7 +427,7 @@ addr_const_to_string (char *str, rtx x)
char buf1[256];
char buf2[256];
restart:
restart:
str[0] = '\0';
switch (GET_CODE (x))
{
......
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