[LLVMdev] Best location in code generation for insertion of instrumentation to measure stack depth?

Andrew Ruef awruef at umd.edu
Fri Jul 8 14:09:28 PDT 2011

Hi list,

I am trying to implement the technique outlined in the following paper:
http://www.cs.umd.edu/~mwh/papers/martin10ownership.html in LLVM. My
approach so far involves the use of an IR level transform (via
runOnFunction) to identify memory loads and stores. One thing I need to do
(I am pretty sure I need to do it at least) is automatically mark each stack
frame as "owned" by the current thread.

I'm not sure where the best place in the LLVM architecture to do this is. As
I currently understand it, the concept of a stack frame appears pretty late
in target code generation. I've hacked in a hook for this in
X86FrameLowering.cpp in the emitPrologue and emitEpilogue methods.

Is there a cleaner way I can do this? Is there a way I can subclass the X86
code generator to "hook" those two methods and insert my instrumentation? Is
there something I'm missing with runOnMachineFunction?

Thank you,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110708/91828e74/attachment.html>

More information about the llvm-dev mailing list