[LLVMdev] How to disable pass grouping(scheduling)

kecheng at cecs.pdx.edu kecheng at cecs.pdx.edu
Wed Jun 29 09:33:37 PDT 2011


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
>
>







More information about the llvm-dev mailing list