On Fri, Jun 01, 2018 at 02:35:41PM -0400, Paul Koning wrote:
> during RTL pass: dse2
> dump file: unwind-dw2-fde.c.288r.dse2
> ../../../../gcc/libgcc/unwind-dw2-fde.c: In function ‘get_cie_encoding’:
> ../../../../gcc/libgcc/unwind-dw2-fde.c:342:1: internal compiler error: in
> cselib_record_set, at cselib.c:2409
> }
> ^
>
> I don't understand what it's looking for or why it is unhappy.
>
> The RTL that blows up, as reported in the 288r.dse dump file, looks like this:
I'd say it is upset by multiple post_inc in the same instruction, that is I
believe invalid.
> (insn 195 194 197 11 (parallel [
> (set (reg:CC 16 cc)
> (compare:CC (mem:QI (post_inc:HI (reg/v/f:HI 0 r0 [orig:41 p
> ] [41])) [0 MEM[base: p_38, offset: 65535B]+0 S1 A8])
> (const_int 0 [0])))
> (set (reg:QI 2 r2 [orig:38 byte.10_40 ] [38])
> (mem:QI (post_inc:HI (reg/v/f:HI 0 r0 [orig:41 p ] [41])) [0
> MEM[base: p_38, offset: 65535B]+0 S1 A8]))
> ]) "../../../../gcc/libgcc/unwind-pe.h":166 20 {*mov_ccqi}
> (expr_list:REG_UNUSED (reg:QI 2 r2 [orig:38 byte.10_40 ] [38])
> (expr_list:REG_UNUSED (reg/v/f:HI 0 r0 [orig:41 p ] [41])
> (expr_list:REG_INC (reg/v/f:HI 0 r0 [orig:41 p ] [41])
> (nil)))))
Jakub