[LLVMdev] runOnFunction() being called many times on the same function
John Regehr
regehr at cs.utah.edu
Fri Jun 19 10:24:53 PDT 2015
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
More information about the llvm-dev
mailing list