Bug 38768 - -fschedule-insns documentation is wrong for x86 and some other targets
Summary: -fschedule-insns documentation is wrong for x86 and some other targets
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: 4.4.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: documentation
Depends on:
Blocks:
 
Reported: 2009-01-08 17:43 UTC by tim blechmann
Modified: 2011-02-10 21:07 UTC (History)
7 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2009-01-09 20:22:48


Attachments
proposed patch (576 bytes, patch)
2009-01-08 17:44 UTC, tim blechmann
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tim blechmann 2009-01-08 17:43:42 UTC
according to the manpage, -fschedule-insns is enabled at the optimization levels -O2, -O3 and -Os. according to g++ -c -Q --help=optimizers, this is not the case, though.
Comment 1 tim blechmann 2009-01-08 17:44:14 UTC
Created attachment 17057 [details]
proposed patch
Comment 2 pinskia@gmail.com 2009-01-08 18:27:42 UTC
Subject: Re:  man page: -fschedule-insns documentation



On Jan 8, 2009, at 9:44 AM, "tim at klingt dot org" <gcc-bugzilla@gcc.gnu.org 
 > wrote:

>
>
> ------- Comment #1 from tim at klingt dot org  2009-01-08 17:44  
> -------
> Created an attachment (id=17057)
> --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17057&action=view)
> proposed patch


This patch is incorrect as -fschedule-insns is enabled at -O2 and  
above for most targets except for x86.

>
>
>
> -- 
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38768
>
Comment 3 tim blechmann 2009-01-08 18:30:56 UTC
> This patch is incorrect as -fschedule-insns is enabled at -O2 and  
> above for most targets except for x86.

and x86_64 ... the only platforms i can use for testing ...
Comment 4 Andrew Pinski 2009-01-09 20:22:46 UTC
Confirmed.  Also note -fschedule-insns is basically broken for x86 anyways.
Comment 5 Reza Yazdani 2010-01-14 22:12:27 UTC
> Confirmed.  Also note -fschedule-insns is basically broken for x86 anyways.
> 

Do you have a list of bug reports where -fschedule-insns is broken on x86?
We tried to compile all the SPEC 2006 with this option and there are no
errors in there.

Comment 6 H.J. Lu 2010-01-15 03:31:14 UTC
(In reply to comment #5)
> > Confirmed.  Also note -fschedule-insns is basically broken for x86 anyways.
> > 
> 
> Do you have a list of bug reports where -fschedule-insns is broken on x86?
> We tried to compile all the SPEC 2006 with this option and there are no
> errors in there.
> 

Did you really use -fschedule-insns on SPEC CPU 2006 on 32bit?
Comment 7 rguenther@suse.de 2010-01-15 09:46:12 UTC
Subject: Re:  -fschedule-insns documentation is wrong for
 x86 and some other targets

On Thu, 14 Jan 2010, reza dot yazdani at amd dot com wrote:

> ------- Comment #5 from reza dot yazdani at amd dot com  2010-01-14 22:12 -------
> > Confirmed.  Also note -fschedule-insns is basically broken for x86 anyways.
> > 
> 
> Do you have a list of bug reports where -fschedule-insns is broken on x86?
> We tried to compile all the SPEC 2006 with this option and there are no
> errors in there.

24319, 38403, 42295, etc.  (that's from a -fschedule-insns search)
or walk through 
http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&known_to_fail_type=allwordssubstr&known_to_work_type=allwordssubstr&long_desc_type=substring&long_desc=unable+to+find+a+register+to+spill&bug_file_loc_type=allwordssubstr&bug_file_loc=&gcchost_type=allwordssubstr&gcchost=&gcctarget_type=allwordssubstr&gcctarget=&gccbuild_type=allwordssubstr&gccbuild=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=

basically the issue is increasing register pressure and failure to
do register allocation after that.  In 4.5 -fsched-pressure might
fix some of them.

Richard.
Comment 8 Reza Yazdani 2010-01-15 15:19:29 UTC
We used -O2 -fsched-pressure -fschedule-insns to build the cpu2006 bmks on an amd64-linux machine.

Thanks for the list of bugs.