On Fri, Aug 18, 2017 at 3:21 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > > It's very easy, you just need for is_promotable() to always return > false. But really, what would be the point? I was mostly thinking debugging and verification purpose. AST to linearized byte code without the SSA conversion of memory variable is very straight forward. Also, I just realized that, promoting memory access into SSA pseudo is actually not avoidable at instruction level. After CSE and flow optimization, there might open up new chance to promote local variable into SSA form. We might need some code to promote memory access to SSA pseudo from instruction level any way. > The points that matter to me are: > 1) generate correct SSA information. > This is ultra-important because with incorrect SSA > a lot of the optimizations are wrong, introduce errors > and infinite loops or need ugly workarounds. That I totally agree. Incorrect SSA can't not use as SSA at all. > 2) correct any other issues sparse could have with the generated IR > 3) correct any errors sparse could have with an optimization > 4) add support for construct sparse doesn't support yet > 5) add more features, make the sparse's code more efficient > and the generated IR too. All agree. > 5') do not forget that sparse is firstly the/a C checker for the kernel > (and others projects). Sure. But sparse need to get good IR to perform the checking. 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