On Sun, Aug 20, 2017 at 12: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), but I don't think it's necessarily a real I think the initial linearize byte code, the internal usage of pseudo is SSA and that is by choice. > design choice. We do have a "non-SSA" mode that turns phi sources into > OP_COPY that is very much not SSA. "non-SSA" should happen in a much later stage, when we done with all the optimization transformation that require SSA. We can remove SSA. When emit to real machine code, the real machine code does not have any thing similar to the phi function, which select register base one where it come from. So the SSA form need to be undo, at very late stage. SSA is just a tool to help optimizations, not the final goal. > So our linearization form does support a non-SSA mode, although > honestly, I'm not sure how useful it is. I don't think there is any real use for non-SSA mode in sparse right now. Chris -- 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