cgraph.h (varpool_first_static_initializer, [...]): Make checking only when checking enabled.

* cgraph.h (varpool_first_static_initializer,
	varpool_next_static_initializer): Make checking only when
	checking enabled.
	* tree-vectorizer.h (vinfo_for_stmt): Remove check.
	(set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
	gcc_assert to gcc_checking_assert.
	* tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use, phi_nodes
	set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
	op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
	op_iter_init_phiuse, op_iter_init_phidef, array_ref_contains_indirect_ref,
	ref_contains_array_ref): Use gcc_checking_assert.
	* emit-rtl.h (set_first_insn, set_last_insn): Likewise.
	* tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
	partition_is_global, live_on_entry, live_on_exit,
	live_merge_and_clear): Likewise.
	* system.h (gcc_checking_assert): New macro.

From-SVN: r160489
This commit is contained in:
Jan Hubicka 2010-06-09 17:41:23 +02:00 committed by Jan Hubicka
parent ded396e753
commit 0679526118
8 changed files with 64 additions and 48 deletions

View File

@ -1,3 +1,23 @@
2010-06-09 Jan Hubicka <jh@suse.cz>
* cgraph.h (varpool_first_static_initializer,
varpool_next_static_initializer): Make checking only when
checking enabled.
* tree-vectorizer.h (vinfo_for_stmt): Remove check.
(set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
gcc_assert to gcc_checking_assert.
* tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use, phi_nodes
set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
op_iter_init_phiuse, op_iter_init_phidef, array_ref_contains_indirect_ref,
ref_contains_array_ref): Use gcc_checking_assert.
* emit-rtl.h (set_first_insn, set_last_insn): Likewise.
* tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
partition_is_global, live_on_entry, live_on_exit,
live_merge_and_clear): Likewise.
* system.h (gcc_checking_assert): New macro.
* gimple.h (set_bb_seq): Use gcc_checking_assert.
2010-06-09 Jason Merrill <jason@redhat.com>
* Makefile.in (TAGS): Collect tags info from c-family.

View File

@ -724,7 +724,7 @@ varpool_first_static_initializer (void)
struct varpool_node *node;
for (node = varpool_nodes_queue; node; node = node->next_needed)
{
gcc_assert (TREE_CODE (node->decl) == VAR_DECL);
gcc_checking_assert (TREE_CODE (node->decl) == VAR_DECL);
if (DECL_INITIAL (node->decl))
return node;
}
@ -737,7 +737,7 @@ varpool_next_static_initializer (struct varpool_node *node)
{
for (node = node->next_needed; node; node = node->next_needed)
{
gcc_assert (TREE_CODE (node->decl) == VAR_DECL);
gcc_checking_assert (TREE_CODE (node->decl) == VAR_DECL);
if (DECL_INITIAL (node->decl))
return node;
}

View File

@ -76,7 +76,7 @@ get_insns (void)
static inline void
set_first_insn (rtx insn)
{
gcc_assert (!insn || !PREV_INSN (insn));
gcc_checking_assert (!insn || !PREV_INSN (insn));
crtl->emit.x_first_insn = insn;
}
@ -93,7 +93,7 @@ get_last_insn (void)
static inline void
set_last_insn (rtx insn)
{
gcc_assert (!insn || !NEXT_INSN (insn));
gcc_checking_assert (!insn || !NEXT_INSN (insn));
crtl->emit.x_last_insn = insn;
}

View File

@ -246,7 +246,7 @@ bb_seq (const_basic_block bb)
static inline void
set_bb_seq (basic_block bb, gimple_seq seq)
{
gcc_assert (!(bb->flags & BB_RTL));
gcc_checking_assert (!(bb->flags & BB_RTL));
bb->il.gimple->seq = seq;
}

View File

@ -601,6 +601,12 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
#define gcc_assert(EXPR) ((void)(0 && (EXPR)))
#endif
#ifdef ENABLE_CHECKING
#define gcc_checking_assert(EXPR) gcc_assert (EXPR)
#else
#define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
#endif
/* Use gcc_unreachable() to mark unreachable locations (like an
unreachable default case of a switch. Do not use gcc_assert(0). */
#if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING

View File

@ -48,7 +48,7 @@ gimple_referenced_vars (const struct function *fun)
static inline tree
gimple_vop (const struct function *fun)
{
gcc_assert (fun && fun->gimple_df);
gcc_checking_assert (fun && fun->gimple_df);
return fun->gimple_df->vop;
}
@ -141,7 +141,7 @@ static inline var_ann_t
get_var_ann (tree var)
{
var_ann_t *p = DECL_VAR_ANN_PTR (var);
gcc_assert (p);
gcc_checking_assert (p);
return *p ? *p : create_var_ann (var);
}
@ -222,7 +222,7 @@ link_imm_use (ssa_use_operand_t *linknode, tree def)
root = &(SSA_NAME_IMM_USE_NODE (def));
#ifdef ENABLE_CHECKING
if (linknode->use)
gcc_assert (*(linknode->use) == def);
gcc_checking_assert (*(linknode->use) == def);
#endif
link_imm_use_to_list (linknode, root);
}
@ -254,7 +254,7 @@ static inline void
relink_imm_use (ssa_use_operand_t *node, ssa_use_operand_t *old)
{
/* The node one had better be in the same list. */
gcc_assert (*(old->use) == *(node->use));
gcc_checking_assert (*(old->use) == *(node->use));
node->prev = old->prev;
node->next = old->next;
if (old->prev)
@ -507,7 +507,7 @@ gimple_phi_arg_has_location (gimple gs, size_t i)
static inline gimple_seq
phi_nodes (const_basic_block bb)
{
gcc_assert (!(bb->flags & BB_RTL));
gcc_checking_assert (!(bb->flags & BB_RTL));
if (!bb->il.gimple)
return NULL;
return bb->il.gimple->phi_nodes;
@ -520,7 +520,7 @@ set_phi_nodes (basic_block bb, gimple_seq seq)
{
gimple_stmt_iterator i;
gcc_assert (!(bb->flags & BB_RTL));
gcc_checking_assert (!(bb->flags & BB_RTL));
bb->il.gimple->phi_nodes = seq;
if (seq)
for (i = gsi_start (seq); !gsi_end_p (i); gsi_next (&i))
@ -541,7 +541,6 @@ phi_arg_index_from_use (use_operand_p use)
pointer arithmetic. */
phi = USE_STMT (use);
gcc_assert (gimple_code (phi) == GIMPLE_PHI);
element = (struct phi_arg_d *)use;
root = gimple_phi_arg (phi, 0);
@ -641,9 +640,7 @@ static inline use_operand_p
op_iter_next_use (ssa_op_iter *ptr)
{
use_operand_p use_p;
#ifdef ENABLE_CHECKING
gcc_assert (ptr->iter_type == ssa_op_iter_use);
#endif
gcc_checking_assert (ptr->iter_type == ssa_op_iter_use);
if (ptr->uses)
{
use_p = USE_OP_PTR (ptr->uses);
@ -663,9 +660,7 @@ static inline def_operand_p
op_iter_next_def (ssa_op_iter *ptr)
{
def_operand_p def_p;
#ifdef ENABLE_CHECKING
gcc_assert (ptr->iter_type == ssa_op_iter_def);
#endif
gcc_checking_assert (ptr->iter_type == ssa_op_iter_def);
if (ptr->defs)
{
def_p = DEF_OP_PTR (ptr->defs);
@ -681,9 +676,7 @@ static inline tree
op_iter_next_tree (ssa_op_iter *ptr)
{
tree val;
#ifdef ENABLE_CHECKING
gcc_assert (ptr->iter_type == ssa_op_iter_tree);
#endif
gcc_checking_assert (ptr->iter_type == ssa_op_iter_tree);
if (ptr->uses)
{
val = USE_OP (ptr->uses);
@ -725,8 +718,8 @@ op_iter_init (ssa_op_iter *ptr, gimple stmt, int flags)
{
/* We do not support iterating over virtual defs or uses without
iterating over defs or uses at the same time. */
gcc_assert ((!(flags & SSA_OP_VDEF) || (flags & SSA_OP_DEF))
&& (!(flags & SSA_OP_VUSE) || (flags & SSA_OP_USE)));
gcc_checking_assert ((!(flags & SSA_OP_VDEF) || (flags & SSA_OP_DEF))
&& (!(flags & SSA_OP_VUSE) || (flags & SSA_OP_USE)));
ptr->defs = (flags & (SSA_OP_DEF|SSA_OP_VDEF)) ? gimple_def_ops (stmt) : NULL;
if (!(flags & SSA_OP_VDEF)
&& ptr->defs
@ -749,8 +742,8 @@ op_iter_init (ssa_op_iter *ptr, gimple stmt, int flags)
static inline use_operand_p
op_iter_init_use (ssa_op_iter *ptr, gimple stmt, int flags)
{
gcc_assert ((flags & SSA_OP_ALL_DEFS) == 0
&& (flags & SSA_OP_USE));
gcc_checking_assert ((flags & SSA_OP_ALL_DEFS) == 0
&& (flags & SSA_OP_USE));
op_iter_init (ptr, stmt, flags);
ptr->iter_type = ssa_op_iter_use;
return op_iter_next_use (ptr);
@ -761,8 +754,8 @@ op_iter_init_use (ssa_op_iter *ptr, gimple stmt, int flags)
static inline def_operand_p
op_iter_init_def (ssa_op_iter *ptr, gimple stmt, int flags)
{
gcc_assert ((flags & SSA_OP_ALL_USES) == 0
&& (flags & SSA_OP_DEF));
gcc_checking_assert ((flags & SSA_OP_ALL_USES) == 0
&& (flags & SSA_OP_DEF));
op_iter_init (ptr, stmt, flags);
ptr->iter_type = ssa_op_iter_def;
return op_iter_next_def (ptr);
@ -897,7 +890,7 @@ op_iter_init_phiuse (ssa_op_iter *ptr, gimple phi, int flags)
clear_and_done_ssa_iter (ptr);
ptr->done = false;
gcc_assert ((flags & (SSA_OP_USE | SSA_OP_VIRTUAL_USES)) != 0);
gcc_checking_assert ((flags & (SSA_OP_USE | SSA_OP_VIRTUAL_USES)) != 0);
comp = (is_gimple_reg (phi_def) ? SSA_OP_USE : SSA_OP_VIRTUAL_USES);
@ -926,7 +919,7 @@ op_iter_init_phidef (ssa_op_iter *ptr, gimple phi, int flags)
clear_and_done_ssa_iter (ptr);
ptr->done = false;
gcc_assert ((flags & (SSA_OP_DEF | SSA_OP_VIRTUAL_DEFS)) != 0);
gcc_checking_assert ((flags & (SSA_OP_DEF | SSA_OP_VIRTUAL_DEFS)) != 0);
comp = (is_gimple_reg (phi_def) ? SSA_OP_DEF : SSA_OP_VIRTUAL_DEFS);
@ -1125,7 +1118,7 @@ unmodifiable_var_p (const_tree var)
static inline bool
array_ref_contains_indirect_ref (const_tree ref)
{
gcc_assert (TREE_CODE (ref) == ARRAY_REF);
gcc_checking_assert (TREE_CODE (ref) == ARRAY_REF);
do {
ref = TREE_OPERAND (ref, 0);
@ -1140,7 +1133,7 @@ array_ref_contains_indirect_ref (const_tree ref)
static inline bool
ref_contains_array_ref (const_tree ref)
{
gcc_assert (handled_component_p (ref));
gcc_checking_assert (handled_component_p (ref));
do {
if (TREE_CODE (ref) == ARRAY_REF)

View File

@ -144,7 +144,6 @@ var_to_partition (var_map map, tree var)
{
int part;
gcc_assert (TREE_CODE (var) == SSA_NAME);
part = partition_find (map->var_partition, SSA_NAME_VERSION (var));
if (map->partition_to_view)
part = map->partition_to_view[part];
@ -172,8 +171,8 @@ var_to_partition_to_var (var_map map, tree var)
static inline int
basevar_index (var_map map, int partition)
{
gcc_assert (partition >= 0
&& partition <= (int) num_var_partitions (map));
gcc_checking_assert (partition >= 0
&& partition <= (int) num_var_partitions (map));
return map->partition_to_base_index[partition];
}
@ -271,7 +270,7 @@ extern void dump_live_info (FILE *, tree_live_info_p, int);
static inline int
partition_is_global (tree_live_info_p live, int p)
{
gcc_assert (live->global);
gcc_checking_assert (live->global);
return bitmap_bit_p (live->global, p);
}
@ -282,9 +281,9 @@ partition_is_global (tree_live_info_p live, int p)
static inline bitmap
live_on_entry (tree_live_info_p live, basic_block bb)
{
gcc_assert (live->livein);
gcc_assert (bb != ENTRY_BLOCK_PTR);
gcc_assert (bb != EXIT_BLOCK_PTR);
gcc_checking_assert (live->livein
&& bb != ENTRY_BLOCK_PTR
&& bb != EXIT_BLOCK_PTR);
return live->livein[bb->index];
}
@ -296,9 +295,9 @@ live_on_entry (tree_live_info_p live, basic_block bb)
static inline bitmap
live_on_exit (tree_live_info_p live, basic_block bb)
{
gcc_assert (live->liveout);
gcc_assert (bb != ENTRY_BLOCK_PTR);
gcc_assert (bb != EXIT_BLOCK_PTR);
gcc_checking_assert (live->liveout
&& bb != ENTRY_BLOCK_PTR
&& bb != EXIT_BLOCK_PTR);
return live->liveout[bb->index];
}
@ -319,8 +318,7 @@ live_var_map (tree_live_info_p live)
static inline void
live_merge_and_clear (tree_live_info_p live, int p1, int p2)
{
gcc_assert (live->livein[p1]);
gcc_assert (live->livein[p2]);
gcc_checking_assert (live->livein[p1] && live->livein[p2]);
bitmap_ior_into (live->livein[p1], live->livein[p2]);
bitmap_zero (live->livein[p2]);
}

View File

@ -567,7 +567,6 @@ vinfo_for_stmt (gimple stmt)
if (uid == 0)
return NULL;
gcc_assert (uid <= VEC_length (vec_void_p, stmt_vec_info_vec));
return (stmt_vec_info) VEC_index (vec_void_p, stmt_vec_info_vec, uid - 1);
}
@ -577,7 +576,7 @@ set_vinfo_for_stmt (gimple stmt, stmt_vec_info info)
unsigned int uid = gimple_uid (stmt);
if (uid == 0)
{
gcc_assert (info);
gcc_checking_assert (info);
uid = VEC_length (vec_void_p, stmt_vec_info_vec) + 1;
gimple_set_uid (stmt, uid);
VEC_safe_push (vec_void_p, heap, stmt_vec_info_vec, (vec_void_p) info);
@ -603,8 +602,8 @@ get_earlier_stmt (gimple stmt1, gimple stmt2)
if (uid1 == 0 || uid2 == 0)
return NULL;
gcc_assert (uid1 <= VEC_length (vec_void_p, stmt_vec_info_vec));
gcc_assert (uid2 <= VEC_length (vec_void_p, stmt_vec_info_vec));
gcc_checking_assert (uid1 <= VEC_length (vec_void_p, stmt_vec_info_vec)
&& uid2 <= VEC_length (vec_void_p, stmt_vec_info_vec));
if (uid1 < uid2)
return stmt1;
@ -632,7 +631,7 @@ is_loop_header_bb_p (basic_block bb)
{
if (bb == (bb->loop_father)->header)
return true;
gcc_assert (EDGE_COUNT (bb->preds) == 1);
gcc_checking_assert (EDGE_COUNT (bb->preds) == 1);
return false;
}