[LLVMdev] How to disable pass grouping(scheduling)
Michael Ilseman
michael at lunarg.com
Wed Jun 29 09:49:25 PDT 2011
You could also use the API, e.g.
RunPass(Pass* p) {
PassManager pm;
pm.add(p);
pm.run(M)
}
...
RunPass(createAPass());
RunPass(createBPass());
RunPass(createCPass());
...
Is your goal just to see the performance lost from having to recompute
analyses that would otherwise be preserved and reused?
On Wed, Jun 29, 2011 at 10:33 AM, <kecheng at cecs.pdx.edu> wrote:
> Thanks John, this is an easy way to achieve this goal, but I'm
> wondering if this is the only way? I have around 100 passes.
>
> Quoting John Criswell <criswell at illinois.edu>:
>
>> On 6/28/11 11:35 PM, kecheng at cecs.pdx.edu wrote:
>>> Hi all,
>>>
>>> Llvm can automatically group a list passes. I want to do some
>>> experiment to see the difference between grouping and non-grouping
>>> execution.
>>> Considering the following example, if I want to apply transformation
>>> A, B and C. The execution order is:
>>> A.doInitialization();
>>> B.doInitialization();
>>> C.doInitialization();
>>> A.runOnFunction();
>>> B.runOnFunction();
>>> C.runOnFunction();
>>> A.doInitialization();
>>> B.doInitialization();
>>> C.doInitialization();
>>>
>>> Is it possible to disable the grouping? Make it execute as:
>>>
>>> A.doInitialization();
>>> A.runOnFunction();
>>> A.doInitialization();
>>> B.doInitialization();
>>> B.runOnFunction();
>>> B.doInitialization();
>>> C.doInitialization();
>>> C.runOnFunction();
>>> C.doInitialization();
>>>
>>> Thanks,
>>
>> You can run opt three times (one for each pass A, B, and C), piping
>> them together so that the output of one is the input to the next.
>>
>> -- John T.
>>
>>> Kecheng
>>>
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
More information about the llvm-dev
mailing list