Bug 44947 - Unable to find a register to spill in class `AREG'.
Summary: Unable to find a register to spill in class `AREG'.
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.1
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-06-19 01:03 UTC by Ronald Cole
Modified: 2007-04-18 16:33 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-06-19 01:04:38 UTC
Embargoed:


Attachments (Terms of Use)
Small source that demonstrates the bug. (417 bytes, text/plain)
2001-06-19 01:04 UTC, Ronald Cole
no flags Details

Description Ronald Cole 2001-06-19 01:03:08 UTC
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
modulo arithmetic.

How reproducible:
Always

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


Actual Results:  
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.

Additional info:

Comment 1 Ronald Cole 2001-06-19 01:04:34 UTC
Created attachment 21285 [details]
Small source that demonstrates the bug.

Comment 2 Jakub Jelinek 2001-06-22 10:17:53 UTC
-fschedule-insns should never be used on register starved architectures,
it has never worked there and will not work even in future compiler
versions.
There is a reason why it is not enabled with -O2 on e.g. ia32.


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