On Sun, Aug 6, 2017 at 9:21 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > > No, directly from symbol to pseudos. > It's the beauty of this approach. I have to read more when I have time. > >> Directly from the linearize process? > > Yes, only the add_load() & add_store() is modified and > instead of storing stuff in memory, it's directly translated > to pseudos & phi-nodes are created when needed. How does it deal with pointer usage analyze? >> > More specifically, you can do what is needed in a BB >> > once you have all the parents, otherwise you need to >> > delay things. The article call this 'BB is sealed' >> > and there is a 'seal' operation that need to be called >> > to process what was delayed. >> > Complications arise with gotos (and the article doesn't >> > talk about them) but I've added a solution for it >> > (but I would like to return to it later). >> >> I am missing the obvious. Where is this article? > > I've put the reference at the top of the new file sssa.c: > /* > * This is an implementation of the SSA construction algorithm: > * "Simple and Efficient Construction of Static Single Assignment Form" > * by Matthias Braun, Sebastian Buchwald, Sebastian Hack, Roland Leissa, > * Christoph Mallon and Andreas Zwinkau. > * cfr. http://www.cdl.uni-saarland.de/papers/bbhlmz13cc.pdf > */ Interesting. I will take a look. >> > Another thing I would like to change is the ptrmap >> > implementation I've added: it need to be hash-table based >> > (but it's only an implementation detail that matters >> > for performance on really big functions). >> >> Which ptrmap? The one used for CSE? > > No, no. > I needed a map between symbols and pseudos. > It's in a separate file: ptrmap.c OK, there is a back end pointer in symbol->aux you can use to store information relate to back end. pseudo->priv is the similar deal. Using this two pointers do you still need the ptrmap? 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