This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/54472] New: ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling
- From: "zsojka at seznam dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 03 Sep 2012 18:04:23 +0000
- Subject: [Bug rtl-optimization/54472] New: ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling
- Auto-submitted: auto-generated
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