[LLVMdev] How to uniquely remember a loop?

Andrew Trick atrick at apple.com
Tue Aug 21 09:28:15 PDT 2012


On Aug 21, 2012, at 4:17 AM, "Rao, Prashantha" <Prashantha.Rao at amd.com> wrote:
> More than one loop may share the same header;

You have a different definition of loop than the rest of the optimizer. You can identify your loops by the backedge if you prefer.

> I can certainly run LoopSimplify as a prepass. But will that ensure unique loop header for each loop.

It tries to split loops into single back edge loops. No guarantee.

> As I will be performing transformation after the analysis other optimizations will not interfere (hopefully).

Now it sounds like you're writing a standard in-process Analysis pass that can be used by your transformation without being invalidated. If so, just refer directly to Loop* from LoopInfo.

> Will the debug info metadata be available always?  If so, what are good pointers to explore?

Certainly no guarantee. Do you want your optimization to depend on debug info?

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120821/59bec1c6/attachment.html>


More information about the llvm-dev mailing list