[LLVMdev] Multi-scan passes under LLVM (2.7)

Chuck Zhao czhao at eecg.toronto.edu
Thu Jul 22 10:56:23 PDT 2010


  Thanks, John,

Get the idea.

Inside MyPass::runOnModule(Module &M):

// scan1:
for(Module::iterator F=M.begin(), E = M.end(); F != E; ++F){ ... }

// scan2:
for(Module::iterator F=M.begin(), E = M.end(); F != E; ++F){ ... }

So that I can do it as many times I want.


Chuck

On 7/22/2010 1:39 PM, John Criswell wrote:
> Chuck Zhao wrote:
>>   For current FunctionPass passes, each function in the current 
>> module will be visited _once_ under some order.
>>
>> If I have an algorithm that needs to visit each function more than 
>> once in order to generate the final result, how could it be arranged 
>> under the current LLVM Pass framework?
>>
>> Could somebody point me a pass that currently doing this?
>
> You may want to use a ModulePass if you need to examine/transform a 
> function multiple times.
>
> -- John T.
>
>>
>> Thank you
>>
>> Chuck
>>
>> _______________________________________________
>> 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