[Bug target/28574] [4.2 regression] switch statement points to unreferenced label at -O2
------- Comment #5 from tbm at cyrius dot com 2006-08-02 19:17 -------
So from 144r (peephole2) to 145r (ce3) it goes from:
;; Insn is not within a basic block
(code_label 48 47 49 11 "" [3 uses])
;; Insn is not within a basic block
(jump_insn 49 48 50 (addr_diff_vec:DI (label_ref:DI 48)
[
(label_ref:DI 103)
(label_ref:DI 103)
(label_ref:DI 103)
(label_ref:DI 103)
(label_ref:DI 103)
]
(const_int 0 [0x0])
(const_int 0 [0x0])) -1 (nil)
(nil))
(barrier 50 49 103)
to:
...(insn 185 35 186 3 (set (reg/f:DI 14 r14 [386])
(plus:DI (high:DI (label_ref:DI 48))
(reg:DI 1 r1))) 76 {*load_symptr_high} (nil)
(nil))
(insn 186 185 44 3 (set (reg/f:DI 14 r14 [386])
(lo_sum:DI (reg/f:DI 14 r14 [386])
(label_ref:DI 48))) 77 {*load_symptr_low} (nil)
(nil))
...
and here's where the case_label is lost.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28574
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Reply to: