profile the llvm JITed code

The issue is with a change in OProfile. It used to be run with ‘opcontrol’, but now is run using ‘operf’.
There is a check in lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp to see if OProfile is running. Older versions check only for ‘oprofiled’. Newer versions also check for ‘operf’.
One fix is the change the check to match the newer code.
Alternately, you could make a fake program called ‘oprofiled’ (it just needs to sleep), and make sure it is running when doing profiling.


Hi llvm,
It is the second time I post this kind of message.

My llvm version is 3.3, can anyone tell me how to profile the JITed code using OProfile?

(rest of message removed)

Hi Mark,

Thanks very much for digging in to this. I’m glad to hear that it’s fixed in newer versions of LLVM.