[LLVMdev] dynamic passes

Chuck Zhao chuck.zhao at samsung.com
Fri Mar 29 16:26:07 PDT 2013


Can you do this instead:

PassManager pm = ...;
pm.add(other needed passes);
...
if(arch you are interested)
   pm.add(your pass);
...
pm.run();


Chuck


On 3/29/2013 4:15 PM, Reed Kotler wrote:
> This is what I'm doing right now and the only issues that came up in 
> internal review is that we have to create the pass object now for things
> that we are unlikely to need.
>
> On 03/29/2013 04:05 PM, Chuck Zhao wrote:
>> I think you will have to add the passes anyway before asking the pass
>> manager object to run.
>> In addition, you can specify some dependency, so that that non relevant
>> pass will not have a chance to run. The PassManager should be able to
>> figure that out given the runtime conditions.
>>
>> Chuck
>>
>> On 3/29/2013 3:38 PM, reed kotler wrote:
>>> Is it possible to dynamically add and remove passes once llc starts to
>>> run?
>>>
>>> Currently I have to add some machine function passes and only once
>>> they are running, I have them return right away because they are not
>>> relevant at that time. For example, mips16 does not use the delay slot
>>> optimizer but now I would need to add the pass all the time just in
>>> case someone specified that a particular function be compiled as 
>>> mips32.
>>>
>>> It seems from the pass manager that you can add and subtract passes
>>> but I was unclear as to whether this was something you have to do
>>> before the pass manager starts to run passes.
>>>
>>> Tia.
>>>
>>> Reed
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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