This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
RE: IA64 status
- To: "'Richard Henderson'" <rth at redhat dot com>
- Subject: RE: IA64 status
- From: "Boehm, Hans" <hans_boehm at hp dot com>
- Date: Wed, 5 Sep 2001 17:39:14 -0700
- Cc: "'java at gcc dot gnu dot org'" <java at gcc dot gnu dot org>
I'm still running into ICEs on the trunk, trying to compile Java code (with
-g -static) to Itanium. The loop starting at line 9507 in reload1.c
(fixup_abnormal_edges) ends up traversing a basic block containing only:
;; Basic block 21, loop depth 0, count 0
;; Predecessors: 20 (fallthru)
;; Registers live at start: 0 [r0] 1 [r1] 12 [r12] 328 [sfp] 395 397
(note 323 169 171 [bb 21] NOTE_INSN_BASIC_BLOCK)
(note 171 323 173 NOTE_INSN_DELETED)
(note 173 171 324 NOTE_INSN_DELETED)
;; Registers live at end: 0 [r0] 1 [r1] 12 [r12] 328 [sfp] 395 397 404
;; Successors: 22 (fallthru) 46 (crit,ab,eh)
This fails the check at the end, since it never finds a call instruction, or
one that can throw; it appears that everything has been deleted.
Any guess as to what's causing this? Should fixup_abnormal_edges be able to
handle this case, or is it getting fed garbage?
I haven't yet tried to isolate the source code feature that's causing this.
I seems to happen with many files of SPECjbb, but a lot of other code works.
It doesn't appear to occur at higher optimization levels. (Those die with a
SIGSEGV, later on. More on that later.)
Thanks.
Hans