Nicolas Geoffray wrote:> Hi Andre? > > Andre Tavares wrote: > >> Thanks for all answers. I will consider them all before I start coding. >> >> I have another discussion that I would like to hear from you. >> >> I can implement SSI in two different ways. Analysis or Transformation Pass. >> >> As an Analysis Pass, I would create a SSI LiveInterval, mapping each >> interval with a constraint. >> Pros: No change to the IR. >> Cons: It is a simulation. >> >> > > It is a simulation == bad performance? > > >> As an Transformation Pass, SSI would be implemented in the IR with copy >> instructions (pi functions) and phi functions on the end. >> Pros: Real SSI. Each interval has a constraint. >> Cons: IR is bigger, what can impact other optimizations. >> >> >> > > How would you model this pi function? New instruction? New intrinsic? > > Nicolas > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >Nicolas, I think the performance of my Pass will be the same independent of which type I use. But if I make transformations I will reduce the performance of other optimizations. The pi functions can be implemented with copy instructions. This way it won't change other optimizations. Example: a1, a2 = pi(a) into a1 = a a2 = a -- Andre Tavares Master Student in Computer Science - UFMG - Brasil http://dcc.ufmg.br/~andrelct
Hi Andre, Andre Tavares wrote:> Nicolas, > > I think the performance of my Pass will be the same independent of which > type I use. But if I make transformations I will reduce the performance > of other optimizations. > >I don't get it. What is the cons then of a simulation?> The pi functions can be implemented with copy instructions.Store instructions?> This way it > won't change other optimizations. > >Why would the analysis change other optimizations?> Example: > a1, a2 = pi(a) into > a1 = a > a2 = a > >OK, so your pass/analysis creates the stores? Why do you need to introduce the pi name? (Btw, I have no knowledge on SSI/SSA construction theories, so maybe I need a higher-level explanation of the problem) Thanks, Nicolas
On Tue, May 19, 2009 at 12:30 PM, Nicolas Geoffray <nicolas.geoffray at lip6.fr> wrote:>> The pi functions can be implemented with copy instructions. > > Store instructions?I would assume something more like "select i1 true, <ty> %val, <ty> undef". -Eli