This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: new abort()


On Mon, 2 Apr 2001, David Mosberger wrote:

> I tried the latest gcc3 branch and now I'm seeing an abort in
> ia64.c:4258.  It turns out that rtx_needs_barrier() aborts because one
> of the PARALLEL operands has an unexpected code.  When I do
> debug_rtx(pat) at the point of the abort, I get:
>
> 	$ p debug_rtx(pat)
> 	(asm_operands/v (";; rsm psr.i;;") ("") 0[ ]
> 	    [ ]  ("arch/ia64/kernel/semaphore.c") 56)
> 	$2 = void

Fixed with this patch, bootstrapped on the mainline and installed there and
on the branch.


Bernd

Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ChangeLog,v
retrieving revision 1.9718
diff -u -p -r1.9718 ChangeLog
--- ChangeLog	2001/04/05 11:55:17	1.9718
+++ ChangeLog	2001/04/05 12:00:57
@@ -1,5 +1,8 @@
 2001-04-05  Bernd Schmidt  <bernds@redhat.com>

+	* config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
+	ASM_OPERAND.
+
 	* sched-deps.c (sched_analyze_insn): Revert more of the March 27
 	change.

Index: config/ia64/ia64.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/ia64/ia64.c,v
retrieving revision 1.86
diff -u -p -r1.86 ia64.c
--- ia64.c	2001/03/28 14:25:37	1.86
+++ ia64.c	2001/04/05 12:00:59
@@ -4234,7 +4234,9 @@ rtx_needs_barrier (x, flags, pred)
 	      update_set_flags (pat, &new_flags, &pred, &cond);
 	      need_barrier |= set_src_needs_barrier (pat, new_flags, pred, cond);
 	    }
-	  else if (GET_CODE (pat) == USE || GET_CODE (pat) == CALL)
+	  else if (GET_CODE (pat) == USE
+		   || GET_CODE (pat) == CALL
+		   || GET_CODE (pat) == ASM_OPERANDS)
 	    need_barrier |= rtx_needs_barrier (pat, flags, pred);
 	  else if (GET_CODE (pat) != CLOBBER && GET_CODE (pat) != RETURN)
 	    abort ();


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]