public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Edelsohn <dje.gcc@gmail.com>
To: Jan Hubicka <hubicka@ucw.cz>,
	GCC Patches <gcc-patches@gcc.gnu.org>,
		Richard Henderson <rth@redhat.com>,
	ramrad01@arm.com, 	Richard Sandiford <rdsandiford@googlemail.com>
Subject: Re: ipa-visibility TLC 2/n
Date: Tue, 03 Jun 2014 13:53:00 -0000	[thread overview]
Message-ID: <CAGWvnynaa+45yYkyrkkKiEL+j9eEchTtBTbWe=r6K7Gw42XXTg@mail.gmail.com> (raw)
In-Reply-To: <CAGWvny=uXmpFepw4pQSqwyL3Qdj1Zf0=ghOeaUGgV1MxWubxuw@mail.gmail.com>

Honza,

How can we make further progress with the large regression on AIX?

Thanks, David

On Fri, May 30, 2014 at 1:24 PM, David Edelsohn <dje.gcc@gmail.com> wrote:
> Honza,
>
> For example g++.dg/abi/vcall1.C fails at a call in a "localalias"
> function, which jumps to a bad location:
>
>
> (gdb) up
> #1  0x100004c0 in B::B() [clone .localalias.2] ()
> (gdb) x/16i $pc-32
>    0x100004a0 <_ZN1BC2Ev+156>:  add     r10,r10,r8
>    0x100004a4 <_ZN1BC2Ev+160>:  mr      r3,r10
>    0x100004a8 <_ZN1BC2Ev+164>:  stw     r2,20(r1)
>    0x100004ac <_ZN1BC2Ev+168>:  lwz     r10,0(r9)
>    0x100004b0 <_ZN1BC2Ev+172>:  lwz     r11,8(r9)
>    0x100004b4 <_ZN1BC2Ev+176>:  mtctr   r10
>    0x100004b8 <_ZN1BC2Ev.localalias.2+180>:     lwz     r2,4(r9)
>    0x100004bc <_ZN1BC2Ev.localalias.2+184>:     bctrl
> => 0x100004c0 <_ZN1BC2Ev.localalias.2+188>:     lwz     r2,20(r1)
>    0x100004c4 <_ZN1BC2Ev.localalias.2+192>:     addi    r1,r31,64
>    0x100004c8 <_ZN1BC2Ev.localalias.2+196>:     lwz     r0,8(r1)
>    0x100004cc <_ZN1BC2Ev.localalias.2+200>:     mtlr    r0
>    0x100004d0 <_ZN1BC2Ev.localalias.2+204>:     lwz     r31,-4(r1)
>    0x100004d4 <_ZN1BC2Ev.localalias.2+208>:     blr
>
>
>
> On Fri, May 30, 2014 at 3:20 AM, Richard Sandiford
> <rdsandiford@googlemail.com> wrote:
>> Jan Hubicka <hubicka@ucw.cz> writes:
>>>> Jan Hubicka <hubicka@ucw.cz> writes:
>>>> >> Richard Sandiford wrote the original section anchors implementation,
>>>> >> so he would be a good person to comment about the interaction between
>>>> >> aliases and section anchors.
>>>> >
>>>> > Thanks! Richard, does this patch seem sane?
>>>>
>>>> Looks good to me in principle, but with:
>>>>
>>>> > +      struct symtab_node *snode;
>>>> >        decl = SYMBOL_REF_DECL (symbol);
>>>> > +
>>>> > +      snode = symtab_node (decl);
>>>> > +      if (snode->alias)
>>>> > +       {
>>>> > + rtx target = DECL_RTL (symtab_alias_ultimate_target
>>>> > (snode)->decl);
>>>> > + SYMBOL_REF_BLOCK_OFFSET (symbol) = SYMBOL_REF_BLOCK_OFFSET
>>>> > (target);
>>>> > +         return;
>>>> > +       }
>>>>
>>>> is SYMBOL_REF_BLOCK_OFFSET (target) guaranteed to be valid at this point?
>>>> It looked at face value like you'd need a recursive call to place_block_symbol
>>>> on the target before the copy.
>>>
>>> My reading was that SYMBOL_REF_BLOCK_OFFSET is computed at DECL_RTL
>>> calculation time. But you are right - it is done by validize_mem that
>>> is not done by DECL_RTL.  Shall I just call it on target first?
>>
>> Yeah, sounds like calling place_block_symbol would be safer.
>>
>> IIRC, the reason I didn't do it at SET_DECL_RTL time is that some frontends
>> tended to create placeholder decls that for whatever reason ended up with
>> an initial DECL_RTL, then changed the properties of the decl later once
>> more information was known.  (This was all many years ago.)
>>
>> Thanks,
>> Richard

  parent reply	other threads:[~2014-06-03 13:53 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-28 21:44 David Edelsohn
2014-05-28 22:31 ` Jan Hubicka
2014-05-28 22:44   ` David Edelsohn
2014-05-28 23:17     ` Jan Hubicka
2014-05-29  8:08       ` Richard Sandiford
2014-05-29 17:12         ` Jan Hubicka
2014-05-30  7:20           ` Richard Sandiford
2014-05-30 15:50             ` David Edelsohn
2014-06-08 16:44               ` Jan Hubicka
2014-06-10  8:51                 ` Richard Biener
2014-06-08 16:49               ` Jan Hubicka
2014-06-08 16:54               ` Jan Hubicka
2014-06-08 16:58                 ` Jan Hubicka
2014-06-10 13:08                   ` David Edelsohn
2014-06-10 18:02                     ` Jan Hubicka
2014-06-10 22:23                       ` David Edelsohn
2014-06-10 22:55                         ` Jan Hubicka
2014-06-11 14:26                           ` Rainer Orth
2014-06-11 17:02                             ` Jan Hubicka
2014-06-12 10:43                               ` Rainer Orth
2014-06-12 13:33                                 ` Rainer Orth
2014-06-13  3:22                                 ` Jan Hubicka
2014-06-11  8:17                         ` Jan Hubicka
2014-05-30 17:24             ` David Edelsohn
2014-05-30 21:02               ` Jan Hubicka
2014-05-31  0:57                 ` David Edelsohn
2014-05-31  7:42                   ` Richard Sandiford
2014-05-31 14:43                     ` David Edelsohn
2014-06-03 13:53               ` David Edelsohn [this message]
2014-06-06  7:10                 ` Jan Hubicka
2014-06-06 15:53                   ` David Edelsohn
  -- strict thread matches above, loose matches on Subject: below --
2014-05-25  5:54 Jan Hubicka
2014-05-25 20:45 ` Ramana Radhakrishnan
2014-05-25 22:23   ` Jan Hubicka
2014-05-26  1:04     ` Jan Hubicka
2014-05-26  5:29       ` Ramana Radhakrishnan
2014-05-27 20:06         ` Jan Hubicka
2014-05-27 22:20           ` Jan Hubicka
2014-05-28 17:39             ` Yufeng Zhang
2014-05-28 19:52               ` Jan Hubicka
2014-05-28 21:56               ` Jan Hubicka
2014-05-29 14:17                 ` Yufeng Zhang
2014-05-30 16:18                   ` Ramana Radhakrishnan
2014-05-26 15:39 ` Martin Liška

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='CAGWvnynaa+45yYkyrkkKiEL+j9eEchTtBTbWe=r6K7Gw42XXTg@mail.gmail.com' \
    --to=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=ramrad01@arm.com \
    --cc=rdsandiford@googlemail.com \
    --cc=rth@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).