[LLVMdev] Dynamic (JIT) type resolution

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Nov 7 08:10:59 PST 2007

BGB wrote:
> for x86:
> I presume LLVM supports inline assembler, and also uses the traditional 
> frame pointer-based stack layout, but I don't know the details (people who 
> know LLVM could probably be more helpful here).
> ok, maybe here is an option:
> after getting the value (in the created stub), execute a chunk of inline 
> assembler to modify the caller (note: will probably need to modify inline 
> asm syntax, as compilers tend to differ on this point...).

Thanks BGB, but at this point I can handle it ;-). The problem is not
how in theory (patch the caller), but how in the LLVM code generation
process. There are three steps for that:

1) How to represent the stub in the IR? An intrinsic? An external field
with a ghost linkage?
2) At which point in LLVM do we know we won't have any optimization, so
that the field operation is next to the stub call?
3) Make LLVM think the stub call is not a real call, so that
callee-saved registers do not get clobbered.

> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list