[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);


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