[LLVMdev] llvm-java

Andre Tavares andrelct at dcc.ufmg.br
Tue May 19 09:38:32 PDT 2009


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




More information about the llvm-dev mailing list