On Sun, Aug 20, 2017 at 9:26 AM, Dibyendu Majumdar <mobile@xxxxxxxxxxxxxxx> wrote: >> >> 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? I wouldn't guarantee it - I *think* it may be the case that even the initial linearization is actually proper SSA (just with everything going through memory), but I don't think it's necessarily a real design choice. We do have a "non-SSA" mode that turns phi sources into OP_COPY that is very much not SSA. So our linearization form does support a non-SSA mode, although honestly, I'm not sure how useful it is. Luc knows this code much better than me by now. 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