linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dibyendu Majumdar <mobile@majumdar.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
	Christopher Li <sparse@chrisli.org>,
	Linux-Sparse <linux-sparse@vger.kernel.org>
Subject: Re: Question about Sparse Linear form and pseudos
Date: Sun, 20 Aug 2017 17:26:09 +0100	[thread overview]
Message-ID: <CACXZuxcsTb9mzX-4P6QGCHxVY_=MjTwJexF8BnoFErotCTFjdg@mail.gmail.com> (raw)
In-Reply-To: <CA+55aFwzXM1e+7uDA_3fSWn1Jof3YFQ4y+r16MaRYF09KU5Xcg@mail.gmail.com>

Hi Linus,

On 20 August 2017 at 17:20, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Sun, Aug 20, 2017 at 9:12 AM, Dibyendu Majumdar
> <mobile@majumdar.org.uk> wrote:
>>
>> Okay the linear output above seems SSA if we consider how it is shown
>> in the output. But in the code, access to 0[a] occurs via a pseudo -
>> of type PSEUDO_SYM. We see multiple stores happening to this pseudo.
>
> No. There are no stores _to_ the pseudo.
>

Okay I see.

> The PSEUDO_SYM is an *address*. It's not changed. A "store" does not
> assign a value to a pseudo, it writes to *memory*, and the pseudo
> gives the address. It's purely a read of the pseudo.
>
>> So then is it more accurate to say that PSEUDO_SYM and possibly
>> PSEUDO_ARG too - represent memory access, and are just a proxy for
>> stack allocated memory?
>
> No. All pseudos are strictly write-once (after the SSA conversion).
> Memory operations don't write to pseudos. They only use pseudos for
> addresses.
>

Thanks. So does that mean that pseudos are SSA from the initial
linearization phase, and therefore the baseline linear output is
already SSA? By SSA conversion are you referring to the subsequent
phase when memory accesses are converted to pseudos where possible?

Regards
Dibyendu

  reply	other threads:[~2017-08-20 16:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-20 14:54 Question about Sparse Linear form and pseudos Dibyendu Majumdar
2017-08-20 15:15 ` Luc Van Oostenryck
2017-08-20 16:12   ` Dibyendu Majumdar
2017-08-20 16:20     ` Linus Torvalds
2017-08-20 16:26       ` Dibyendu Majumdar [this message]
2017-08-20 16:33         ` Linus Torvalds
2017-08-20 16:45           ` Luc Van Oostenryck
2017-09-07  2:22             ` Luc Van Oostenryck
2017-08-20 16:50           ` Dibyendu Majumdar
2017-08-20 18:22           ` Christopher Li
2017-08-20 16:20     ` Christopher Li
2017-08-20 16:40       ` Dibyendu Majumdar
2017-08-20 15:44 ` Christopher Li
2017-08-20 16:18   ` Dibyendu Majumdar

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='CACXZuxcsTb9mzX-4P6QGCHxVY_=MjTwJexF8BnoFErotCTFjdg@mail.gmail.com' \
    --to=mobile@majumdar.org.uk \
    --cc=linux-sparse@vger.kernel.org \
    --cc=luc.vanoostenryck@gmail.com \
    --cc=sparse@chrisli.org \
    --cc=torvalds@linux-foundation.org \
    /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 NNTP newsgroup(s).