IA64 status
Boehm, Hans
hans_boehm@hp.com
Wed Sep 5 17:39:00 GMT 2001
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
More information about the Java
mailing list