[llvm-commits] [PATCH] Move stub allocation to the JITEmitter
jyasskin at gmail.com
jyasskin at gmail.com
Thu Nov 12 15:34:58 PST 2009
Reviewers: echristo_apple.com,
Message:
This overlaps with http://codereview.appspot.com/154066 (far calls in
x86 large code model) some; I'll merge whichever gets committed second.
I got nlewycky to confirm that the re-enabled tests do actually pass on
arm and ppc.
Description:
* Move stub allocation inside the JITEmitter, instead of exposing a way
for each TargetJITInfo subclass to allocate its own stubs. This means
stubs aren't as exactly-sized anymore, but it lets us get rid of
TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC support
the eager JIT, fixing http://llvm.org/PR4816.
* Rename the JITEmitter's stub creation functions to describe the kind
of stub they create. So far, all of them create lazy-compilation stubs,
but they sometimes get used when far-call stubs are needed. That'll be
fixed in a future patch.
Please review this at http://codereview.appspot.com/153044
Affected files:
M include/llvm/CodeGen/JITCodeEmitter.h
M include/llvm/Target/TargetJITInfo.h
M lib/ExecutionEngine/JIT/JITEmitter.cpp
M lib/Target/ARM/ARMJITInfo.cpp
M lib/Target/ARM/ARMJITInfo.h
M lib/Target/Alpha/AlphaJITInfo.cpp
M lib/Target/Alpha/AlphaJITInfo.h
M lib/Target/PowerPC/PPCJITInfo.cpp
M lib/Target/PowerPC/PPCJITInfo.h
M lib/Target/X86/X86JITInfo.cpp
M lib/Target/X86/X86JITInfo.h
M unittests/ExecutionEngine/JIT/JITTest.cpp
More information about the llvm-commits
mailing list