Commit 1a2caa7a by Nathan Sidwell Committed by Nathan Sidwell

cgraphunit.c (cgraph_mark_functions_to_output): Renable node dumping for development builds.

	* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
	dumping for development builds.
	* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
	development builds only.
	* genattrtab.c (write_eligible_delay): Fix typo in previous
	commit.
	* tree.c (iterative_hash_expr): Replace gcc_unreachable with
	gcc_assert.

From-SVN: r87241
parent 282899df
2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
dumping for development builds.
* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
development builds only.
* genattrtab.c (write_eligible_delay): Fix typo in previous
commit.
* tree.c (iterative_hash_expr): Replace gcc_unreachable with
gcc_assert.
2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
......
......@@ -776,9 +776,21 @@ cgraph_mark_functions_to_output (void)
&& !DECL_EXTERNAL (decl))
node->output = 1;
else
{
/* We should've reclaimed all functions that are not needed. */
#ifdef ENABLE_CHECKING
if (!node->global.inlined_to && DECL_SAVED_TREE (decl)
&& !DECL_EXTERNAL (decl))
{
dump_cgraph_node (stderr, node);
internal_error ("failed to reclaim unneeded function");
}
#endif
gcc_assert (node->global.inlined_to || !DECL_SAVED_TREE (decl)
|| DECL_EXTERNAL (decl));
}
}
}
......
......@@ -2260,15 +2260,18 @@ verify_rtx_sharing (rtx orig, rtx insn)
/* This rtx may not be shared. If it has already been seen,
replace it with a copy of itself. */
#ifdef ENABLE_CHECKING
if (RTX_FLAG (x, used))
{
error ("Invalid rtl sharing found in the insn");
debug_rtx (insn);
error ("Shared rtx");
debug_rtx (x);
fatal_error ("Internal consistency failure");
internal_error ("Internal consistency failure");
}
#endif
gcc_assert (!RTX_FLAG (x, used));
RTX_FLAG (x, used) = 1;
/* Now scan the subexpressions recursively. */
......@@ -2291,9 +2294,11 @@ verify_rtx_sharing (rtx orig, rtx insn)
for (j = 0; j < len; j++)
{
/* We allow sharing of ASM_OPERANDS inside single instruction. */
/* We allow sharing of ASM_OPERANDS inside single
instruction. */
if (j && GET_CODE (XVECEXP (x, i, j)) == SET
&& GET_CODE (SET_SRC (XVECEXP (x, i, j))) == ASM_OPERANDS)
&& (GET_CODE (SET_SRC (XVECEXP (x, i, j)))
== ASM_OPERANDS))
verify_rtx_sharing (SET_DEST (XVECEXP (x, i, j)), insn);
else
verify_rtx_sharing (XVECEXP (x, i, j), insn);
......
......@@ -4125,7 +4125,7 @@ write_eligible_delay (const char *kind)
printf ("{\n");
printf (" rtx insn;\n");
printf ("\n");
printf (" gcc_assert (slot < %d)\n", max_slots);
printf (" gcc_assert (slot < %d);\n", max_slots);
printf ("\n");
/* Allow dbr_schedule to pass labels, etc. This can happen if try_split
converts a compound instruction into a loop. */
......
......@@ -4044,8 +4044,10 @@ iterative_hash_expr (tree t, hashval_t val)
/* Decls we can just compare by pointer. */
val = iterative_hash_pointer (t, val);
}
else if (IS_EXPR_CODE_CLASS (class))
else
{
gcc_assert (IS_EXPR_CODE_CLASS (class));
val = iterative_hash_object (code, val);
/* Don't hash the type, that can lead to having nodes which
......@@ -4080,8 +4082,6 @@ iterative_hash_expr (tree t, hashval_t val)
for (i = first_rtl_op (code) - 1; i >= 0; --i)
val = iterative_hash_expr (TREE_OPERAND (t, i), val);
}
else
gcc_unreachable ();
return val;
break;
}
......
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