Support for constant islands in the ARM JIT.
authorJim Grosbach <grosbach@apple.com>
Tue, 28 Oct 2008 18:25:49 +0000 (18:25 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 28 Oct 2008 18:25:49 +0000 (18:25 +0000)
commitbc6d876adf01b368c6bdd5984d9dac32589d356e
treee847d88829c437fff384f2e3bcba11fffc5eefce
parent52790e5865202f3805cf9b1e9145ce19653c0add
Support for constant islands in the ARM JIT.

Since the ARM constant pool handling supercedes the standard LLVM constant
pool entirely, the JIT emitter does not allocate space for the constants,
nor initialize the memory. The constant pool is considered part of the
instruction stream.

Likewise, when resolving relocations into the constant pool, a hook into
the target back end is used to resolve from the constant ID# to the
address where the constant is stored.

For now, the support in the ARM emitter is limited to 32-bit integer. Future
patches will expand this to the full range of constants necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58338 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetJITInfo.h
lib/ExecutionEngine/JIT/JITEmitter.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMJITInfo.h