Red Hat Bugzilla – Bug 44947
Unable to find a register to spill in class `AREG'.
Last modified: 2007-04-18 12:33:44 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.2-2smp i686)
Description of problem:
The "-fschedule-insns" option to gcc appears to be having problems with
Steps to Reproduce:
$ gcc -march=i686 -O3 -fstrength-reduce -fthread-jumps -fcse-follow-jumps
-fcse-skip-blocks -frerun-cse-after-loop -fschedule-insns -fschedule-insns2
-fexpensive-optimizations -fforce-mem -fforce-addr -fomit-frame-pointer -c
bug.c -o bug.o
bug.c: In function `ev_postevent':
bug.c:22: Unable to find a register to spill in class `AREG'.
bug.c:22: confused by earlier errors, bailing out
Expected Results: Source should have compiled.
Created attachment 21285 [details]
Small source that demonstrates the bug.
-fschedule-insns should never be used on register starved architectures,
it has never worked there and will not work even in future compiler
There is a reason why it is not enabled with -O2 on e.g. ia32.