------- Additional Comments From steven at gcc dot gnu dot org 2005-03-16
01:10 -------
For me the fatal error now happens in a block starting with this:
Breakpoint 6, verify_wide_reg (regno=136, bb=0x400a5a50)
at ../../mainline/gcc/flow.c:494
494 fatal_error ("internal consistency failure");
(gdb) p debug_bb (bb)
;; basic block 2, loop depth 1, count 0
;; prev block 7, next block 3
;; pred: 7 [100.0%] (fallthru) 2 [89.0%] (dfs_back)
;; succ: 2 [89.0%] (dfs_back) 3 [11.0%] (fallthru,loop_exit)
;; Registers live at start: 1 [1] 31 [31] 67 [ap] 122 126 138 142
(code_label:HI 33 56 34 2 4 "" [2 uses])
(note:HI 34 33 37 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn:HI 37 34 42 2 (set (reg:SF 135)
(mem/s:SF (reg/f:SI 122 [ ivtmp.11 ]) [4 S4 A8])) 224
{*movsf_hardfloat} (nil)
(nil))
(insn:HI 42 37 65 2 (set (reg/f:SI 122 [ ivtmp.11 ])
(plus:SI (reg/f:SI 122 [ ivtmp.11 ])
(const_int 4 [0x4]))) 31 {*addsi3_internal1}
(insn_list:REG_DEP_ANTI 37 (nil))
(nil))
(insn:HI 65 42 38 2 (set (reg:SF 138)
(reg:SF 136)) 224 {*movsf_hardfloat} (insn_list:REG_DEP_TRUE 38 (nil))
(expr_list:REG_DEAD (reg:SF 136)
(nil)))
So reg 136 dies in insn 65, but it is not even live there according
to the live-on-entry set...?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20177