[LLVMdev] llvm-java
Owen Anderson
resistor at mac.com
Wed May 20 11:02:23 PDT 2009
On May 20, 2009, at 5:48 AM, Fernando Magno Quintao Pereira wrote:
> 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.
It also has the benefit of being much easier to maintain across other
transformations.
An analysis needs to maintain global information mapping program
points to whatever internal indexing it uses, so it needs to be
informed about all insertions/deletions/CFG changes made in order to
remain up to date. In contrast, only those registers directly
impacted need to be update to preserve it in the transformation version.
Also, I think the transformation version is much easier for client
transformations to use. They take an SSI register, prove something
true about it, and can just use replaceAllUsesWith to simplify it. A
post-pass of constant propagation cleans the whole things up. This
should make things like an SSI-based predicate simplifier extremely
simple.
--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/ca61accc/attachment.bin>
More information about the llvm-dev
mailing list