This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 30291 - -fschedule-insns doesn't (always) work
-fschedule-insns doesn't (always) work
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: gcc (Show other bugs)
7.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-03-02 04:59 EST by Ewald
Modified: 2007-04-18 12:31 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-03-02 04:59:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ewald 2001-03-02 04:59:45 EST
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.

Reproducible: Always
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
use "-fschedule-insns".

I have tried to compile the KDE2.1 sources gcc-2.96-69 and 2-96-75
(rawhide). Both versions produce the same error.
Comment 1 Jakub Jelinek 2001-03-02 05:07:59 EST
-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).

Note You need to log in before you can comment on or make changes to this bug.