[LLVMdev] code generation for calls in JITted code after r88984
Zoltan Varga
vargaz at gmail.com
Tue Dec 15 01:05:49 PST 2009
Hi,
After this commit:
http://llvm.org/viewvc/llvm-project?view=rev&revision=88984
the X86 JIT no longer emits calls using call <ADDR>, but always uses mov
REG, <ADDR>, call *REG. This causes problems for the usage of LLVM in JITs
since the JIT can no longer patch the callsite after the callee have been
compiled. According to the comments for the commit, this was done to fix the
large code model on amd64, but this affects JITs which can guarantee that
both the caller and callee have 32 bit addresses, since the code model is
set uncoditionally to Large, even if another code model was passed to
createJIT ():
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.cpp?r1=86251&r2=88984&pathrev=88984
Would it be possible to fix this or make it configurable ?
thanks
Zoltan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091215/792d6a95/attachment.html>
More information about the llvm-dev
mailing list