This is the mail archive of the gcc@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]

[m32c] IRA reload failures in libstdc++


This is typical of the types of failures m32c got before IRA, too.  I
had a good build on Feb 19th, but if I try to reproduce it, it fails
too.

Fails with -O2, works with -Os.  Note: you might need -fno-ivopts to
get around the recent m32c/IV problems.

Any ideas?  Any thoughts on why gcc has so many problems with this
chip?


dj@greed pts/9 ~/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/src
$ make CXXFLAGS="-g -O2 -dap" wstring-inst.o
/greed/dj/m32c/gcc/m32c-elf/./gcc/xgcc -shared-libgcc -B/greed/dj/m32c/gcc/m32c-elf/./gcc -nostdinc++ -L/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/src -L/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/src/.libs -B/greed/dj/m32c/install/m32c-elf/bin/ -B/greed/dj/m32c/install/m32c-elf/lib/ -isystem /greed/dj/m32c/install/m32c-elf/include -isystem /greed/dj/m32c/install/m32c-elf/sys-include  -mcpu=m32cm -DHAVE_CONFIG_H -I. -I../../../../../gcc/libstdc++-v3/src -I..  -I/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/m32c-elf -I/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include -I/greed/dj/m32c/gcc/gcc/libstdc++-v3/libsupc++  -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual  -fdiagnostics-show-location=once  -ffunction-sections -fdata-sections  -g -O2 -dap -std=gnu++0x -c ../../../../../gcc/libstdc++-v3/src/wstring-inst.cc

In file included from /greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/string:53,
                 from ../../../../../gcc/libstdc++-v3/src/string-inst.cc:33,
                 from ../../../../../gcc/libstdc++-v3/src/wstring-inst.cc:34:
/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/bits/basic_string.h: In member function 'std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::assign(std::initializer_list<_CharT>) [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>, _Alloc = std::allocator<wchar_t>]':

/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/bits/basic_string.h:1007: error: unable to find a register to spill in class 'A_REGS'
/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/bits/basic_string.h:1007: error: this is the insn:
(insn 18 17 19 2 /greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/bits/basic_string.h:1475 (parallel [
            (set (reg:HI 0 r0 [39])
                (ashift:HI (mem/s:HI (plus:PSI (subreg:PSI (reg/f:SI 25 [ __i1$_M_current ]) 0)
                            (const_int -6 [0xfffffffa])) [3 <variable>.D.12386._M_length+0 S2 A8])
                    (const_int 2 [0x2])))
            (clobber (scratch:HI))
        ]) 224 {ashlhi3_i} (nil))
/greed/dj/m32c/gcc/m32c-elf/m32c-elf/m32cm/libstdc++-v3/include/bits/basic_string.h:1007: internal compiler error: in spill_failure, at reload1.c:2094


[wstring-inst.cc.175r.ira]

Spilling for insn 18.
reload failure for reload 0

Reloads for insn # 18
Reload 0: reload_in (SI) = (reg/f:SI 25 [ __i1$_M_current ])
        A_REGS, RELOAD_FOR_OTHER_ADDRESS (opnum = 0)
        reload_in_reg: (reg/f:SI 25 [ __i1$_M_current ])
Reload 1: reload_in (HI) = (mem/s:HI (plus:PSI (subreg:PSI (reg/f:SI 25 [ __i1$_M_current ]) 0)
                                                        (const_int -6 [0xfffffffa])) [3 <variable>.D.12386._M_length+0 S2 A8])
        reload_out (HI) = (reg:HI 0 r0 [39])
        A_HI_MEM_REGS, RELOAD_OTHER (opnum = 0)
        reload_in_reg: (mem/s:HI (plus:PSI (subreg:PSI (reg/f:SI 25 [ __i1$_M_current ]) 0)
                                                        (const_int -6 [0xfffffffa])) [3 <variable>.D.12386._M_length+0 S2 A8])
        reload_out_reg: (reg:HI 0 r0 [39])
        reload_reg_rtx: (reg:HI 0 r0 [39])


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