aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-06-09 17:41:23 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-06-09 15:41:23 +0000
commit0679526118b2b34120b7a1054245fe269d19e8ee (patch)
treea4c4e0746614916994fd84f1f77c014d6733416d
parentded396e753b304ffc3f32b91ccff3b816f478547 (diff)
downloadgcc-0679526118b2b34120b7a1054245fe269d19e8ee.zip
gcc-0679526118b2b34120b7a1054245fe269d19e8ee.tar.gz
gcc-0679526118b2b34120b7a1054245fe269d19e8ee.tar.bz2
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
-rw-r--r--gcc/ChangeLog20
-rw-r--r--gcc/cgraph.h4
-rw-r--r--gcc/emit-rtl.h4
-rw-r--r--gcc/gimple.h2
-rw-r--r--gcc/system.h6
-rw-r--r--gcc/tree-flow-inline.h45
-rw-r--r--gcc/tree-ssa-live.h22
-rw-r--r--gcc/tree-vectorizer.h9
8 files changed, 64 insertions, 48 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a2858e..bc5886e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 48a6c3f..2c7ddbf 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -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;
}
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 704f901..1b2c162 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -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;
}
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 5d15367..210a622 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -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;
}
diff --git a/gcc/system.h b/gcc/system.h
index a6bc930..085df7d 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -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
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index f7609ea..b1e1251 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -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)
diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h
index f49f065..c2af48b 100644
--- a/gcc/tree-ssa-live.h
+++ b/gcc/tree-ssa-live.h
@@ -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]);
}
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 11795d8..bf6769c 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -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;
}