[Bug debug/66691] [5/6 Regression] ICE on valid code at -O3 with -g enabled in simplify_subreg, at simplify-rtx.c:5744

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Jun 28 07:57:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66691

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed, I have to use:

cc1 -m32 -O3 -g -mtune=generic -march=i686

Breakpoint 1, internal_error (gmsgid=gmsgid@entry=0x163d677 "in %s, at %s:%d")
at /home/uros/gcc-svn/trunk/gcc/diagnostic.c:1266
1266    {
(gdb) bt
#0  internal_error (gmsgid=gmsgid@entry=0x163d677 "in %s, at %s:%d") at
/home/uros/gcc-svn/trunk/gcc/diagnostic.c:1266
#1  0x0000000001155624 in fancy_abort (file=file@entry=0x125daf0
"/home/uros/gcc-svn/trunk/gcc/simplify-rtx.c", line=line@entry=5744, 
    function=function@entry=0x125e8c0 <simplify_subreg(machine_mode, rtx_def*,
machine_mode, unsigned int)::__FUNCTION__> "simplify_subreg")
    at /home/uros/gcc-svn/trunk/gcc/diagnostic.c:1340
#2  0x0000000000abbe5c in simplify_subreg (outermode=<optimized out>,
op=<optimized out>, innermode=<optimized out>, byte=<optimized out>)
    at /home/uros/gcc-svn/trunk/gcc/simplify-rtx.c:5744
#3  0x0000000000abc09a in simplify_gen_subreg (outermode=QImode,
op=op@entry=0x7ffff1710480, innermode=VOIDmode, byte=0) at
/home/uros/gcc-svn/trunk/gcc/simplify-rtx.c:5969
#4  0x0000000000d878df in vt_expand_loc_callback (x=0x7ffff1888828,
regs=0x1bbd3c0, max_depth=<optimized out>, data=<optimized out>)
    at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:8437
#5  0x00000000006ed442 in cselib_expand_value_rtx_1
(orig=orig@entry=0x7ffff1888828, evd=evd@entry=0x7fffffffd210,
max_depth=max_depth@entry=2147483647)
    at /home/uros/gcc-svn/trunk/gcc/cselib.c:1683
#6  0x00000000006edb2f in cselib_expand_value_rtx_cb
(orig=orig@entry=0x7ffff1888828, regs_active=regs_active@entry=0x1bbd3c0,
max_depth=max_depth@entry=2147483647, 
    cb=cb@entry=0xd87870 <vt_expand_loc_callback(rtx, bitmap, int, void*)>,
data=data@entry=0x7fffffffd3c0) at /home/uros/gcc-svn/trunk/gcc/cselib.c:1565
#7  0x0000000000d87bb6 in vt_expand_var_loc_chain (pendrecp=<synthetic
pointer>, data=0x7fffffffd3c0, regs=0x1bbd3c0, var=0x1bfdc30)
    at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:8332
#8  vt_expand_loc_callback (x=0x1c485b8, regs=0x1bbd3c0, max_depth=<optimized
out>, data=0x7fffffffd3c0) at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:8494
#9  0x00000000006ed4e3 in cselib_expand_value_rtx_1 (orig=orig@entry=0x1c485b8,
evd=evd@entry=0x7fffffffd320, max_depth=max_depth@entry=2147483647)
    at /home/uros/gcc-svn/trunk/gcc/cselib.c:1718
#10 0x00000000006edb2f in cselib_expand_value_rtx_cb
(orig=orig@entry=0x1c485b8, regs_active=regs_active@entry=0x1bbd3c0,
max_depth=max_depth@entry=2147483647, 
    cb=cb@entry=0xd87870 <vt_expand_loc_callback(rtx, bitmap, int, void*)>,
data=data@entry=0x7fffffffd3c0) at /home/uros/gcc-svn/trunk/gcc/cselib.c:1565
#11 0x0000000000d885e8 in vt_expand_var_loc_chain (pendrecp=0x0,
data=0x7fffffffd3c0, regs=0x1bbd3c0, var=<optimized out>) at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:8332
#12 vt_expand_1pvar (vars=0x1bf1880, var=<optimized out>) at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:8607
#13 emit_note_insn_var_location (varp=varp@entry=0x1c5cd40,
data=data@entry=0x7fffffffd5b0) at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:8662
#14 0x0000000000d90a2b in traverse_noresize<emit_note_data_def*,
emit_note_insn_var_location> (argument=0x7fffffffd5b0, this=<optimized out>)
    at /home/uros/gcc-svn/trunk/gcc/hash-table.h:915
#15 traverse<emit_note_data_def*, emit_note_insn_var_location>
(argument=0x7fffffffd5b0, this=<optimized out>) at
/home/uros/gcc-svn/trunk/gcc/hash-table.h:937
#16 emit_notes_for_changes (insn=insn@entry=0x7ffff18827c0,
where=where@entry=EMIT_NOTE_AFTER_INSN, vars=<optimized out>) at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:9022
#17 0x0000000000d9626e in emit_notes_in_bb (bb=0x7ffff18521a0,
set=0x7fffffffd6e0) at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:9454
#18 vt_emit_notes () at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:9515
#19 0x0000000000d96bc7 in variable_tracking_main_1 () at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:10368
#20 variable_tracking_main () at
/home/uros/gcc-svn/trunk/gcc/var-tracking.c:10382

(gdb) f 4
#4  0x0000000000d878df in vt_expand_loc_callback (x=0x7ffff1888828,
regs=0x1bbd3c0, max_depth=<optimized out>, data=<optimized out>)
    at /home/uros/gcc-svn/trunk/gcc/var-tracking.c:8437
8437                                        SUBREG_BYTE (x));
(gdb) list
8432          if (!subreg)
8433            return NULL;
8434
8435          result = simplify_gen_subreg (GET_MODE (x), subreg,
8436                                        GET_MODE (SUBREG_REG (x)),
8437                                        SUBREG_BYTE (x));
8438
8439          /* Invalid SUBREGs are ok in debug info.  ??? We could try
8440             alternate expansions for the VALUE as well.  */
8441          if (!result)
(gdb) p debug_rtx (x)
(subreg:QI (const_int 0 [0]) 0)
$1 = void


More information about the Gcc-bugs mailing list