On Sun, Aug 20, 2017 at 9:12 AM, 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. No. There are no stores _to_ the pseudo. 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. Linus -- 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