On Sun, Aug 20, 2017 at 6:33 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > 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) It's odd to me to talk about SSA when there is no phi-nodes because all accesses are made via memory, but yes, I'm positively sure that even before we call simplify_symbol_usage() (which to me is where the real conversion to SSA is done) no pseudo is defined at two different places. So yes, the SSA properties is already true at the initial linearization. > 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. It's not really used. It was written to be used by a backend. I wrote (a good part of) the backend's code selection (for ARM) but never wrote the register allocator and glued things together. -- Luc -- 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