From: Ghassan Shobaki <gshobaki@ece.ucdavis.edu>
To: Jan Hubicka <hubicka@ucw.cz>
Cc: Jan Hubicka <jh@suse.cz>,
gcc-help@gcc.gnu.org, "Vladimir N. Makarov" <vmakarov@redhat.com>,
gcc@gnu.org
Subject: Re: Superblock Instruction Scheduling in GCC 3.4
Date: Sun, 01 Feb 2004 18:17:00 -0000 [thread overview]
Message-ID: <Pine.GHP.4.58.0402010953470.22447@dante.ece.ucdavis.edu> (raw)
In-Reply-To: <20040129101203.GB30883@atrey.karlin.mff.cuni.cz>
Eventually, I will be doing profile-based experiments. However, at this
point I am interested in static probabilities because it is an easier option
that will allow me to get some initial results more quickly.
Now, my question is: when I used the f-branch-probablities switch without
doing profiling first, gcc still accepted it and generated some
superblocks. Were these invalid superblocks or what?
Thanks
-Ghassan
On Thu, 29 Jan 2004, Jan Hubicka wrote:
> >
> > Ok, I have just verified that gcc DOES accept the -fsched2-use-tracer and
> > invoke the ebb scheduler as expected. However, it does not set the
> > flag_branch_probabilities automatically. It only sets it when I
> > explicitly use the -fbranch-probabilities command-line switch. Here are
> > the two cases that I have tried:
> >
> > g++ -O3 -fsched2-use-traces
> > Generates ~151K superblocks on my benchmark suite with lots of large
> > superblocks that include 10 basic blocks or more
> >
> > g++ -O3 -fsched2-use-traces -fbranch-probabilities
> > Generates only ~123K superblocks on my benchmark suite with the vast
> > majority of superblocks consisting of less than 10 basic blocks
>
> -fbranch-probabilities can be accpeted only when program has been
> earlier profiled. GCC does have logic for statically guessing the
> branch outcomes when these are not available
> (-fguess-branch-probability) so the superblocks can be built, just they
> are inferrior to those built with feedback available.
> >
> > So, the question is: Why did the compiler generate more superblocks
> > when branch probabilities were not computed? Do the superblocks generated
> > in that case make any sense?
> > And the bottom line question for me is: which setting should I use in my
> > research on superblocks?
>
> It is always better to use the profile, so I would recommend you
> -fbranch-probabilities unless you are interested in experiments with
> static prediction algorithms.
>
> Honza
>
next prev parent reply other threads:[~2004-02-01 18:17 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-03 6:14 Superblock Instruction Scheduling in GCC Ghassan Shobaki
2003-12-03 14:03 ` Vladimir N. Makarov
2003-12-04 0:06 ` Jan Hubicka
2003-12-04 1:26 ` Ghassan Shobaki
2003-12-04 10:25 ` Jan Hubicka
2003-12-04 15:54 ` Vladimir Makarov
2003-12-09 21:11 ` Ghassan Shobaki
2004-01-28 1:31 ` Superblock Instruction Scheduling in GCC 3.4 Ghassan Shobaki
2004-01-28 12:23 ` Jan Hubicka
2004-01-29 7:07 ` Ghassan Shobaki
2004-01-29 10:13 ` Jan Hubicka
2004-02-01 18:17 ` Ghassan Shobaki [this message]
2004-02-01 21:55 ` Jan Hubicka
2004-02-02 5:52 ` Ghassan Shobaki
2004-02-10 18:57 ` Superblock Scheduling Alg in GCC Ghassan Shobaki
2004-02-10 20:08 ` Vladimir Makarov
2004-02-10 20:17 ` Vladimir Makarov
2004-02-10 20:27 ` Jan Hubicka
2004-04-14 17:03 ` Ghassan Shobaki
2004-04-14 22:44 ` Vladimir Makarov
[not found] ` <Pine.LNX.4.58.0404142056120.4634@hawking.ece.ucdavis.edu>
2004-04-17 19:29 ` Ghassan Shobaki
2004-05-27 6:41 ` Ghassan Shobaki
2004-05-27 10:06 ` Tree-SSA: Grammer Sumit Jain
2004-05-27 12:56 ` llewelly
2005-02-11 16:55 ` Trace Scheduling in GCC Ghassan Shobaki
[not found] ` <4210D6C0.3030005@redhat.com>
2005-02-15 6:30 ` Vladimir Makarov
2006-11-24 18:42 ` Phase Ordering of Scheduling and Allocation " Ghassan Shobaki
2006-11-24 19:28 ` Vladimir N. Makarov
2005-02-15 7:45 ` Trace Scheduling " Jan Hubicka
2005-02-15 9:18 ` Ghassan Shobaki
2005-02-17 16:19 ` Jan Hubicka
2005-02-16 10:40 ` Vladimir Makarov
[not found] ` <Pine.GHP.4.58.0502150840080.14429@dante.ece.ucdavis.edu>
2005-02-16 11:19 ` Jan Hubicka
2004-01-28 13:19 Superblock Instruction Scheduling in GCC 3.4 S. Bosscher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.GHP.4.58.0402010953470.22447@dante.ece.ucdavis.edu \
--to=gshobaki@ece.ucdavis.edu \
--cc=gcc-help@gcc.gnu.org \
--cc=gcc@gnu.org \
--cc=hubicka@ucw.cz \
--cc=jh@suse.cz \
--cc=vmakarov@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).