[llvm-dev] How to get return address at llvm ir level? (original) (raw)

PenYiWang via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 4 19:16:44 PDT 2018


Hi

I want to write a FunctionPass to insert some code before return.

Funcion: .. .. .. mov eax,[esp] cmp eax,0x12345678 je 0x12345678 ret (maybe stack will not balance)

I wonder that can I get the return address at llvm ir level?

I use IRBuilder to CreateICmpEQ and CreateCondBr.

but I don't how to get the value of return addrss.

I have found there is a Intrinsic::returnaddress.

Is Intrinsic::returnaddress can help me?

I don't konw how to use Intrinsic::returnaddress because few files use this intrinsic.

Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180905/6b40c861/attachment.html>



More information about the llvm-dev mailing list