Bug 30291 - -fschedule-insns doesn't (always) work
Summary: -fschedule-insns doesn't (always) work
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
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:
Clone Of:
Environment:
Last Closed: 2001-03-02 09:59:52 UTC
Embargoed:


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.