This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
back end could not find spill register error.
- From: Spundun Bhatt <spundun at ISI dot EDU>
- To: gcc at gcc dot gnu dot org
- Date: 09 Dec 2002 02:30:07 -0800
- Subject: back end could not find spill register error.
Hi gcc
On a specific test code, my own port of gcc is breaking with an ICE with
this message.
---------------------------------------------------
tmp.c: In function `calcThresholdBruteForce':
tmp.c:98: Internal compiler error:
tmp.c:98: Could not find a spill register
(insn 542 264 544 (set (subreg:SI (reg:DI 187) 0)
(fix:SI (reg:DF 45 f13))) 308 {*fctiwz} (insn_list 264
(insn_list:REG_DEP_OUTPUT 541 (nil)))
(expr_list:REG_DEAD (reg:DF 45 f13)
(nil)))
---------------------------------------------------
How do I narrow down on the cause of this problem. How do I know which
register is this having problems spilling in? (I am almost certain its
one of the floats.).
Can anybody explain what this error means or even better if somebody can
just point me to some online doc.
Thanx
Spundun
The above message was with O2
This one is without any optimizations.
--------------------------------------------------
tmp.c: In function `calcThresholdBruteForce':
tmp.c:98: Internal compiler error:
tmp.c:98: Could not find a spill register
(insn 350 348 352 (parallel[
(set (reg:SI 10 r10)
(fix:SI (reg:DF 45 f13)))
(clobber (reg:DI 228))
(clobber (reg:SI 11 r11))
(clobber (reg:DI 76 fpmem))
] ) 301 {*fix_truncdfsi2_internal} (nil)
(expr_list:REG_UNUSED (reg:DI 228)
(expr_list:REG_UNUSED (reg:SI 11 r11)
(nil))))
--------------------------------------------------