(original) (raw)


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


On Thu Oct 30 2014 at 1:16:38 PM Xiaoguang Wang <xgwang09@gmail.com> wrote:
On Thu, Oct 30, 2014 at 2:33 PM, Robin Morisset <morisset@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