[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