On Fri, Aug 18, 2017 at 8:35 PM, Christopher Li <sparse@xxxxxxxxxxx> wrote: > > As the way this ssa conversion is implement. I actually don't know > how hard it is to skip the promotion. It's very easy, you just need for is_promotable() to always return false. But really, what would be the point? 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. 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. 5') do not forget that sparse is firstly the/a C checker for the kernel (and others projects). >> I have a question though. For my other backend I need liveness >> analysis done even if I skip the other steps. Is it okay to run the >> liveness analysis phase while skipping the CSE / Flow simplification >> phases? > > You can, but it is less effective. You will see a lot of load/store into the > memory. SSA make it easy to trace the define and usage chain. > Without that you can't really see well what is going on with the content > of the memory. Indeed, but I'm not very sure about Dibyendu's question here. You can have promoted all possible memory accesses to pseudos and still generating totally un-optimized code because you skipped the CSE and all others optimizations. It's two largely orthogonal things. -- 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