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> 2010-06-09 Jason Merrill <jason@redhat.com>
* Makefile.in (TAGS): Collect tags info from c-family. * Makefile.in (TAGS): Collect tags info from c-family.

View File

@ -724,7 +724,7 @@ varpool_first_static_initializer (void)
struct varpool_node *node; struct varpool_node *node;
for (node = varpool_nodes_queue; node; node = node->next_needed) 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)) if (DECL_INITIAL (node->decl))
return node; return node;
} }
@ -737,7 +737,7 @@ varpool_next_static_initializer (struct varpool_node *node)
{ {
for (node = node->next_needed; node; node = node->next_needed) 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)) if (DECL_INITIAL (node->decl))
return node; return node;
} }

View File

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

View File

@ -246,7 +246,7 @@ bb_seq (const_basic_block bb)
static inline void static inline void
set_bb_seq (basic_block bb, gimple_seq seq) 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; 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))) #define gcc_assert(EXPR) ((void)(0 && (EXPR)))
#endif #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 /* Use gcc_unreachable() to mark unreachable locations (like an
unreachable default case of a switch. Do not use gcc_assert(0). */ unreachable default case of a switch. Do not use gcc_assert(0). */
#if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING #if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING

View File

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

View File

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

View File

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