On 12 March 2017 at 17:20, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > On Sun, Mar 12, 2017 at 05:15:54PM +0000, Dibyendu Majumdar wrote: >> On 12 March 2017 at 17:10, Luc Van Oostenryck >> <luc.vanoostenryck@xxxxxxxxx> wrote: >> > On Sun, Mar 12, 2017 at 02:11:37PM +0000, Dibyendu Majumdar wrote: >> >> ... >> >> >> >> My question is: >> >> >> >> phisrc.64 %phi98(current) <- %r333 >> >> >> >> The phi98 above is presumably referencing a pseudo which has number >> >> 98. But this is not part of this function, so I am confused. Does this >> >> look right? >> > >> > I didn't checked all the details by it looks right. >> > >> > The %phi98 is not referencing a pseudo which has the number 98. >> > It is a pseudo numbered 98 and which is of type PSEUDO_PHI. >> > Those kind of pseudos are exclusively created by 'phisrc' instructions >> > and used by 'phi' instructions. >> > Here this %phi98 is used by the phi instructions at block .L127 >> > >> > These 'phi' instructions are the core of the SSA representation of >> > intermediate code. If needed Wikipedia gives a good introduction: >> > https://en.wikipedia.org/wiki/Static_single_assignment_form >> >> >> Thanks. I am familiar with phi instructions in LLVM, but the phisrc >> instructions in Sparse are new to me. > > Good. I wasn't sure. > > Those phisrc are unimportant, you can consider them as a kind of 'move' > which is only but systematically used for each pseudo feeded to a phi > instruction. They ahev no special semantic, they just make some things > little bit easier for sparse. > I got confused by the numbering initially as I was expecting all pseudos within a single function to be numbered sequentially. So I should just read following : phisrc.64 %phi98(current) <- %r333 As: %phi98(current) = %r333 And 98 just happens to be the identifier for the pseudo, and 'phi' is just to help the reader know that the value will go into a phi instruction later. Is that correct? 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