This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


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

RE: IA64 status


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


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