Re: Question about Sparse Linear form and pseudos

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

On 20 August 2017 at 17:20, Christopher Li <sparse@xxxxxxxxxxx> wrote:
> On Sun, Aug 20, 2017 at 12:12 PM, Dibyendu Majumdar
> <mobile@xxxxxxxxxxxxxxx> 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.
>> So the question is each access generated through a different instance
>> of a pseudo? I see that in the code if a symbol already has a pseudo
>
> After promote the memory into pseudo, yes. each store is consider
> a new "define" from the SSA point of  view. So it is a new pseudo,
> or new number of the variable in some SSA book.
>
>> then it is reused. So presumably then PSEUDO_SYMs are not SSA, but
>> PSEUDO_REGs are?
>
> PSEUDO_SYMS are static, you can think them as symbol address.
> It never change. There for it does not need phi node to qualify as SSA.
>

Okay thanks.

>
>> 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?
>
> I am not sure I understand you. PSEUDO_SYM is the address of the symbol.
> Load/Store is using this address to perform memory access.
> After convert the memory content into pseudo, that new pseudo represent
> the memory storage need to be SSA.
>
> PSEUDO_ARG is just a pseudo receiving the function call arguments.
> It will not change either. Any time some one assign a value to the arguments,
> it will generate new instance of the pseudo.
>
> Spare IR does not care if the argument is passing from stack or not.
>

Thanks, I understand this better now.

Regards
Dibyendu
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux