Bug 30291 - -fschedule-insns doesn't (always) work
Summary: -fschedule-insns doesn't (always) work
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc (Show other bugs)
(Show other bugs)
Version: 7.0
Hardware: i386 Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: David Lawrence
Depends On:
TreeView+ depends on / blocked
Reported: 2001-03-02 09:59 UTC by Ewald
Modified: 2007-04-18 16:31 UTC (History)
0 users

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

Attachments (Terms of Use)

Description Ewald 2001-03-02 09:59:45 UTC
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 10:07:59 UTC
-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.