[LLVMdev] IR Passes and TargetTransformInfo: Straw Man

Chris Lattner clattner at apple.com
Wed Jul 31 10:20:22 PDT 2013


On Jul 31, 2013, at 6:53 AM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote:
> On 7/30/2013 11:44 PM, Chris Lattner wrote:
>> 
>> The canonical form should be that loop invariants are hoisted.
> 
> The canonical form should not depend on the knowledge as to what is invariant and what isn't.  It has more to do with preserving certain "common" properties of a loop, such as header, preheader, latch branch, etc.

Canonicalization of the IR is not about guarantees, it is about what assumptions passes can make and what form they have to tolerate.

>> Optimizations should not depend on perfect loops.
> 
> What do you mean by "perfect loops"?  I was talking about perfect nests.

I'm talking about perfect loop nests, as in the classical fortran loop transformation sense.

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130731/672d7c62/attachment.html>


More information about the llvm-dev mailing list