[LLVMdev] LoopInfo analysis in CallGraphSCCPass

Nick Lewycky nlewycky at google.com
Wed Oct 3 16:41:18 PDT 2012


On 3 October 2012 02:37, Chandler Carruth <chandlerc at google.com> wrote:

> On Wed, Oct 3, 2012 at 2:33 AM, vinay m <mvinay05041990 at gmail.com> wrote:
>
>> Hi,
>>    Is it possible to  recreate the LoopInfo analysis in my pass?
>>
>
> No. You need your pass to be a FunctionPass in order to use the LoopInfo
> (and associated) analyses.
>

A ModulePass can also use the LoopInfo analysis (and other function
passes). Use "getAnalysis<T>(Function);" to get analysis T for a given
Function.

That means you could write your pass as a ModulePass and use the CallGraph
and LoopInfo directly.

You can also cheat and write two passes, one CallGraphSCCPass which depends
on a ModulePass. The ModulePass depends on LoopInfo and offers a single
getter that returns LoopInfo  for the Function you ask it for. This is
hackery that you won't be able to land in upstream.

Nick


>
>>
>> Thanks ,
>> Vinay
>>
>> On Wed, Oct 3, 2012 at 2:34 PM, Chandler Carruth <chandlerc at google.com>wrote:
>>
>>> This is not currently supported by the LLVM pass manager system. It is a
>>> serious deficiency that I (and others) would like to address, but it
>>> requires significant changes to the pass manager and analysis dependency
>>> system.
>>>
>>> I have some dim hope of working on fixing this limitation, but it won't
>>> be quick. ;]
>>>
>>>
>>> On Wed, Oct 3, 2012 at 1:49 AM, vinay m <mvinay05041990 at gmail.com>wrote:
>>>
>>>> Hi,
>>>>
>>>>     How to get the LoopInfo analysis  in a CallGraphSCCPass  ?
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> Vinay
>>>>
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>>
>>>
>>
>>
>> --
>> m.vinay
>>
>
>
> _______________________________________________
> 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/20121003/5f0edb9c/attachment.html>


More information about the llvm-dev mailing list