[LLVMdev] runOnFunction() being called many times on the same function

John Regehr regehr at cs.utah.edu
Fri Jun 19 17:06:49 PDT 2015


.... and of course I was ignoring that rule that a FunctionPass cannot add 
functions to the current module.  Sorry for the noise.

John


> I have a FunctionPass that is being scheduled by the legacy pass manager 
> using EP_OptimizerLast.  It is an instrumentation pass that makes a function 
> bigger.  The problem is that runOnFunction() is being called many times for 
> the same function, resulting in runaway growth and eventual OOM for the clang 
> process.
>
> I see that sanitizer passes are using EP_OptimizerLast, so obviously the 
> capacity to run once is available.  Is there some mistake I might be making 
> that would cause LLVM to do this?  If not, can someone let me know how to 
> tell LLVM to call runOnFunction() only one time for each function?
>
> This behavior does not happen for all functions or in all files, and it seems 
> to be more common on Linux than Mac.  So perhaps an LLVM bug of some sort?
>
> I see the same behavior using r238200 and r240137.
>
> Thanks,
>
> John
> _______________________________________________
> 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