summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-09 15:58:21 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-09 15:58:21 +0000
commit9cee7c3f6fd4fa30563fa22dd62334bb06667112 (patch)
treec4ffa2ad3dad1e3ec528b5e2c71f6e4281357d6b /gcc/emit-rtl.c
parent0d59b19dc2331e2fd6d3ce1d95d0d6c22263c282 (diff)
downloadgcc-9cee7c3f6fd4fa30563fa22dd62334bb06667112.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87241 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 9f9289bfad5..ab721fe8aa7 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -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);