public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Steven Bosscher <stevenb.gcc@gmail.com>
To: Andrew Haley <aph@redhat.com>
Cc: Carrot Wei <carrot@google.com>,
	gcc@gcc.gnu.org, Richard Earnshaw <rearnsha@arm.com>,
	 	Paul Brook <paul@codesourcery.com>,
	nickc@redhat.com
Subject: Re: Where can I put the optimization of got for arm back end at?
Date: Thu, 01 Apr 2010 20:31:00 -0000	[thread overview]
Message-ID: <h2t571f6b511004011331x5b45d8f6y7530d23b5614e87a@mail.gmail.com> (raw)
In-Reply-To: <4BB4E1A1.4050000@redhat.com>

On Thu, Apr 1, 2010 at 8:10 PM, Andrew Haley <aph@redhat.com> wrote:
> On 28/03/10 15:45, Carrot Wei wrote:
>> Hi
>>
>> The detailed description of the optimization is at
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43129. This is an ARM
>> specific optimization.
>>
>> This optimization uses one less register (the register hold the GOT
>> base), to get this beneficial the ideal place for it should be before
>> register allocation.
>>
>> Usually expand pass generates instructions to load global variable's
>> address from GOT entry for each access of the global variable. Later
>> cse/gcse passes can remove many of them. In order to precisely model
>> the cost, this optimization should be put after some cse/gcse passes.
>>
>> So what is the best place for this optimization? Is there any existed
>> pass can be enhanced with this optimization? Or should I add a new
>> pass?
>
> The obvious place is machine-dependent reorg, which is a very late pass.

Yes, and after register allocation, i.e. too late for Guozhi.

Basically there is no place right now to stuff a pass like that.
Question is: Is this optimization really, reallyreallyreally so target
specific that a target-independent pass is not the better option?

Ciao!
Steven

  reply	other threads:[~2010-04-01 20:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-28 21:00 Carrot Wei
2010-04-01 18:11 ` Andrew Haley
2010-04-01 20:31   ` Steven Bosscher [this message]
2010-04-02  4:06     ` Carrot Wei
     [not found]       ` <l2z5885251a1004050624h1237ec10z2a0bf34b7ba91d2c@mail.gmail.com>
2010-04-06 13:38         ` Carrot Wei

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=h2t571f6b511004011331x5b45d8f6y7530d23b5614e87a@mail.gmail.com \
    --to=stevenb.gcc@gmail.com \
    --cc=aph@redhat.com \
    --cc=carrot@google.com \
    --cc=gcc@gcc.gnu.org \
    --cc=nickc@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=rearnsha@arm.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).