[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