This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/54472] New: ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54472

             Bug #: 54472
           Summary: ICE (spill_failure): unable to find a register to
                    spill in class 'AREG' with -O -fschedule-insns
                    -fselective-scheduling
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz


Created attachment 28125
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28125
reduced testcase

Compiler output:
$ gcc -O -fschedule-insns -fselective-scheduling testcase.c
testcase.c: In function 'main':
testcase.c:6:1: error: unable to find a register to spill in class 'AREG'
 }
 ^
testcase.c:6:1: error: this is the insn:
(insn 9 25 22 2 (parallel [
            (set (reg:DI 2 cx [63])
                (const_int 0 [0]))
            (set (reg/f:DI 5 di [61])
                (plus:DI (ashift:DI (reg:DI 2 cx [63])
                        (const_int 3 [0x3]))
                    (reg/f:DI 1 dx [60])))
            (set (mem/c:BLK (reg/f:DI 1 dx [60]) [0 MEM[(void *)&a]+0 S104
A64])
                (const_int 0 [0]))
            (use (reg:DI 4 si [62]))
            (use (reg:DI 2 cx [63]))
        ]) testcase.c:4 890 {*rep_stosdi_rex64}
     (expr_list:REG_DEAD (reg:DI 4 si [62])
        (expr_list:REG_DEAD (reg/f:DI 1 dx [60])
            (expr_list:REG_UNUSED (reg:DI 2 cx [63])
                (expr_list:REG_UNUSED (reg/f:DI 5 di [61])
                    (nil))))))
testcase.c:6:1: internal compiler error: in spill_failure, at reload1.c:2127
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

(gdb) bt
#0  0x0000000001130b50 in fancy_abort(char const*, int, char const*) ()
#1  0x000000000096d5fb in _fatal_insn(char const*, rtx_def const*, char const*,
int, char const*) ()
#2  0x000000000096c6d0 in reload(rtx_def*, int) () at
/mnt/svn/gcc-trunk/gcc/reload1.c:2127
#3  0x000000000087eba2 in rest_of_handle_reload() () at
/mnt/svn/gcc-trunk/gcc/ira.c:4328
#4  0x000000000090092f in execute_one_pass(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2157
#5  0x0000000000900ce5 in execute_pass_list(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2212
#6  0x0000000000900cf7 in execute_pass_list(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2213
#7  0x00000000006bdd88 in expand_function(cgraph_node*) () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1609
#8  0x00000000006bfc2a in compile() () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1714
#9  0x00000000006c0225 in finalize_compilation_unit() () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:2089
#10 0x00000000005a1dc0 in c_write_global_declarations() () at
/mnt/svn/gcc-trunk/gcc/c/c-decl.c:10116
#11 0x00000000009e8475 in compile_file() () at
/mnt/svn/gcc-trunk/gcc/toplev.c:560
#12 0x00000000009ea03a in toplev_main(int, char**) () at
/mnt/svn/gcc-trunk/gcc/toplev.c:1863
#13 0x00007ffff6e784bd in __libc_start_main () from /lib64/libc.so.6
#14 0x0000000000584d01 in _start ()

Tested revisions:
r190830 - crash
4.7 r188682 - crash
4.6 r188682 - crash
4.5 r188682 - crash
4.4 r188682 - crash


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