[Bug target/65167] New: ICE: in assign_by_spills, at lra-assigns.c:1383 (unable to find a register to spill) with -O -fschedule-insns -fcheck-pointer-bounds -mmpx

zsojka at seznam dot cz gcc-bugzilla@gcc.gnu.org
Sun Feb 22 18:30:00 GMT 2015


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

            Bug ID: 65167
           Summary: ICE: in assign_by_spills, at lra-assigns.c:1383
                    (unable to find a register to spill) with -O
                    -fschedule-insns -fcheck-pointer-bounds -mmpx
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 34837
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34837&action=edit
reduced testcase

Compiler output:
$ gcc -O -fschedule-insns -fcheck-pointer-bounds -mmpx testcase.c
testcase.c: In function 'foo.chkp':
testcase.c:7:1: error: unable to find a register to spill
 }
 ^
testcase.c:7:1: error: this is the insn:
(insn 21 49 32 2 (parallel [
            (unspec [
                    (mem:DI (unspec:DI [
                                (plus:DI (reg/f:DI 7 sp)
                                    (const_int -8 [0xfffffffffffffff8]))
                                (subreg:DI (reg/v/f:DI 94 [ e ]) 0)
                            ] UNSPEC_BNDLDX_ADDR) [0  S8 A8])
                    (reg:BND64 111 [orig:101 __chkp_bounds_of_e ] [101])
                ] UNSPEC_BNDSTX)
            (set (mem/v:BLK (plus:DI (reg/f:DI 7 sp)
                        (const_int -8 [0xfffffffffffffff8])) [0  A8])
                (unspec:BLK [
                        (mem/v:BLK (plus:DI (reg/f:DI 7 sp)
                                (const_int -8 [0xfffffffffffffff8])) [0  A8])
                    ] UNSPEC_MPX_FENCE))
        ]) testcase.c:5 1067 {*bnd64_stx}
     (expr_list:REG_DEAD (reg:BND64 111 [orig:101 __chkp_bounds_of_e ] [101])
        (expr_list:REG_DEAD (reg/v/f:DI 94 [ e ])
            (nil))))
testcase.c:7:1: internal compiler error: in assign_by_spills, at
lra-assigns.c:1383
0xbcd308 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /mnt/svn/gcc-trunk/gcc/rtl-error.c:110
0xac5ef6 assign_by_spills
        /mnt/svn/gcc-trunk/gcc/lra-assigns.c:1383
0xac6723 lra_assign()
        /mnt/svn/gcc-trunk/gcc/lra-assigns.c:1558
0xac2042 lra(_IO_FILE*)
        /mnt/svn/gcc-trunk/gcc/lra.c:2337
0xa705e1 do_reload
        /mnt/svn/gcc-trunk/gcc/ira.c:5418
0xa705e1 execute
        /mnt/svn/gcc-trunk/gcc/ira.c:5589
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Tested revisions:
r220888 - fail



More information about the Gcc-bugs mailing list