[LLVMdev] Identify Loops from within FunctionPass, or possible to intermix different types of Passes?
Devang Patel
dpatel at apple.com
Thu Jan 6 11:24:53 PST 2011
On Jan 6, 2011, at 9:21 AM, Chuck Zhao wrote:
> LLVMers,
>
> I have a traversal plan which needs to visit certain types of Functions. For each instruction in such functions, I will need to know:
> 1. is it located inside a loop
> 2. if yes, what level of loop nest it is currently in.
>
> So on the highest level, it should be a FunctionPass. However, in order to identify loops and loop-nest levels, it should also be a LoopPass.
>
> Is there a reasonably simple way to identify loop(s) within a function under FunctionPass?
>
> (Any existing LLVM code that I can take a look?)
Your FunctionPass can use LoopInfo to get this information.
-
Devang
>
> OR
>
> Is it possible to intermix different types of LLVM Passes?
>
> E.g.
>
> class MyPass: public FunctionPass, public LoopPass{
> ...
> public:
> bool runOnFunction(...);
> bool runOnLoop(...);
> ...
> };
>
> Does this make any sense?
> I haven't seem to find any existing LLVM pass under such uses.
>
>
> Thank you very much
>
> Chuck
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110106/8eef7199/attachment.html>
More information about the llvm-dev
mailing list