[LLVMdev] Emit a jump instruction to a place inside basicblock (original) (raw)

Xiaoguang Wang xgwang09 at gmail.com
Thu Oct 30 14:01:24 PDT 2014


On Thu, Oct 30, 2014 at 4:48 PM, Eric Christopher <echristo at gmail.com> wrote:

On Thu Oct 30 2014 at 1:16:38 PM Xiaoguang Wang <xgwang09 at gmail.com> wrote: On Thu, Oct 30, 2014 at 2:33 PM, Robin Morisset <morisset at google.com> wrote:

Hi,

From my understanding of the LLVM IR, it is impossible to jump to the middle of a Basic Block, only to its beginning. But there is a splitBasicBlock function that seems like it might be useful to you, to make sure a basic block is starting at the exact place you want to jump. Best regards, Robin

Thanks you all! I'm looking at splitBasicBlock and trying to use that. BTW, is there a way at lower level of LLVM that can implement this functionality? E.g. MCBasicBlock or MCInst? You are unlikely to want to do this at the MC level, maybe the MI level. What are you trying to accomplish? -eric Thanks for the answer. I want to construct a table which can jump to the address after a call instruction. And replace the call/ret instructions with that indirection table. So to protect return address on stack.

Sincerely, Xiaoguang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141030/15105541/attachment.html>



More information about the llvm-dev mailing list