Hi Luc, On 13 September 2017 at 12:55, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > On Wed, Sep 13, 2017 at 1:37 PM, Dibyendu Majumdar > <mobile@xxxxxxxxxxxxxxx> wrote: >> Hi, >> >> >> I have been thinking about this issue for some time - i.e. that the >> Sparse IR does not explicitly define or initialize local variables. > > The problem of undefined variables is one thing (that the SSA conversion > can and should deal with). > >> The back-end deals with it by doing it at first access. But this could >> result in incorrect behavior if the initialization was meant to occur >> at a certain point in the code. I should probably try to prove this >> theory by creating a test - but intuitively it seems that if the >> programmer had meant to initialize a variable at a particular point, >> there could be a reason why it should be done at that point and not >> some point later. > > Unless you access the variables by some means the compiler is not aware > of, it must not matter. > > And in all case, the initialization must be done when the following rules > (scopes, sequence points, ...) and the compiler is free to do anything > 'as if' these rules are respected. > Yes, it seems this is okay as the store instruction (from initialization) occurs at the right place. Regards Dibyendu -- 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