Red Hat Bugzilla – Bug 30291
-fschedule-insns doesn't (always) work
Last modified: 2007-04-18 12:31:53 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.73 [en] (X11; I; Linux 2.2.17 i686; Nav)
When compiling the KDE2.1 sources with "-fschedule-insns", the gcc compiler
fails to compile some of the packages (like kdebase) with an error :
Unable to spill in class AREG (or something like that)
After this error message, the compilation stops.
Steps to Reproduce:
1.download the KDE2.1 tarballs
2.export CXXFLAGS and CFLAGS with the "-fschedule-insns" setting
3.run "configure" and "make"
Actual Results: Compilation stops on some files with an error message
related to the instruction scheduling.
Expected Results: It should've compiled KDE2.1, which it does if you don't
I have tried to compile the KDE2.1 sources gcc-2.96-69 and 2-96-75
(rawhide). Both versions produce the same error.
-fschedule-insns does not work on targets with only few general registers, which
ia32 is (and never did and won't in the near future either).
You might try -fschedule-insns2 which should work (the latter is done after
machine registers are assigned while the former before that happens and scheduling
usually reshuffles code so that more registers are live at any time).