[LLVMdev] llvm-java

Owen Anderson resistor at mac.com
Wed May 20 10:57:49 PDT 2009


On May 20, 2009, at 6:51 AM, Nicolas Geoffray wrote:

> Hi Fernando,
>
> Thanks for the very clear explanation.
>
> Fernando Magno Quintao Pereira wrote:
>> simulation: it does not add instructions to LLVM IR. Instead, it  
>> builds an
>> interval representation for each variable. Each interval represents a
>> variable in SSI form, and will be associated to one or more  
>> constraints,
>> like v > 10, or v > a.length. A query will have to find the variable,
>> O(1), and then its interval, O(ln #intervals).
>>
>> transformation: it replaces a variable with new variables that have  
>> the
>> SSI property. In this case, it must add copies and new phi- 
>> functions into
>> LLVM IR. Queries are now O(1): just find the variable and recover the
>> constraints. The downside is that it increases the program size.
>>
>
> OK. Is it possible to do SSI Transformation --> Array Bounds
> Optimization --> SSI undo Transformation? Or would that render useless
> the speed gained with O(1) queries?

Undoing SSI translation is just constant propagation, if you've  
represented the pi nodes with single-input phis/copies.

--Owen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2620 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090520/092bea36/attachment.bin>


More information about the llvm-dev mailing list