| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
doesn't want the generic constant pool to be emitted.
llvm-svn: 58475
|
|
|
|
| |
llvm-svn: 58407
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 58338
|
|
|
|
|
|
|
|
| |
variable is moved to the execution engine. The JIT calls the TargetJITInfo
to allocate thread local storage. Currently, only linux/x86 knows how to
allocate thread local global variables.
llvm-svn: 58142
|
|
|
|
|
|
| |
JITing a variable independently of a function. This lead to sharing memory memory between functions and GVs thus changing the value of a GV could change the code in execution. more details on the ML.
llvm-svn: 57900
|
|
|
|
|
|
| |
deadlock issues with java
llvm-svn: 57356
|
|
|
|
|
|
| |
in getPointerToFunction
llvm-svn: 57340
|
|
|
|
|
|
| |
Patch by Samuel Tardieu.
llvm-svn: 57291
|
|
|
|
| |
llvm-svn: 57017
|
|
|
|
|
|
|
| |
this handling to work properly for modifying stub functions, relocations
back to entry points after JIT compilation, etc..
llvm-svn: 57013
|
|
|
|
|
|
| |
isReg, etc., from isRegister, etc.
llvm-svn: 57006
|
|
|
|
|
|
| |
the lock when calling a method which may materialize the llvm::Function.
llvm-svn: 56995
|
|
|
|
|
|
| |
allocate space for a GlobalVariable.
llvm-svn: 56557
|
|
|
|
| |
llvm-svn: 56419
|
|
|
|
|
|
| |
privilege from read / write to read / executable.
llvm-svn: 56303
|
|
|
|
| |
llvm-svn: 56005
|
|
|
|
| |
llvm-svn: 55626
|
|
|
|
|
|
|
| |
whose darwin code was written after the ability to dynamically register frames,
we need to do special hacks to make things work.
llvm-svn: 55507
|
|
|
|
| |
llvm-svn: 55022
|
|
|
|
|
|
|
| |
Also skip indirect encoding for platforms that ask for one: we direclty
write an address, not a pointer to the address.
llvm-svn: 54987
|
|
|
|
|
|
| |
so that lli works out of the box with -enable-eh.
llvm-svn: 54920
|
|
|
|
|
|
| |
This makes JIT asmprinter-free.
llvm-svn: 54843
|
|
|
|
|
|
|
|
|
|
|
|
| |
model, except for external calls; this makes
addressing modes PC-relative. Incomplete.
The assertion at the top of Emitter::runOnMachineFunction
was obviously bogus (always true) so I removed it.
If someone knows what the correct test should be to cover
all the various targets, please fix.
llvm-svn: 54656
|
|
|
|
| |
llvm-svn: 54523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are allocated in the same buffer as the code,
jump tables, etc.
The default JIT memory manager does not handle buffer
overflow well. I didn't introduce this and I'm not
attempting to fix it here, but it is more likely to
be hit now since we're putting more stuff in the
buffer. This affects one test that I know of so far,
MultiSource/Benchmarks/NPB-serial/is.
llvm-svn: 54442
|
|
|
|
| |
llvm-svn: 54350
|
|
|
|
|
|
| |
FreeRangeHeader::getMinBlockSize(). Patch by Damien.
llvm-svn: 54152
|
|
|
|
| |
llvm-svn: 53178
|
|
|
|
| |
llvm-svn: 53064
|
|
|
|
| |
llvm-svn: 52976
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the need for a flavor operand, and add a new SDNode subclass,
LabelSDNode, for use with them to eliminate the need for a label id
operand.
Change instruction selection to let these label nodes through
unmodified instead of creating copies of them. Teach the MachineInstr
emitter how to emit a MachineInstr directly from an ISD label node.
This avoids the need for allocating SDNodes for the label id and
flavor value, as well as SDNodes for each of the post-isel label,
label id, and label flavor.
llvm-svn: 52943
|
|
|
|
| |
llvm-svn: 52738
|
|
|
|
|
|
|
| |
InvalidateInstructionCache method instead of calling through
a hook on the JIT. This is a host feature, not a target feature.
llvm-svn: 52734
|
|
|
|
| |
llvm-svn: 52600
|
|
|
|
| |
llvm-svn: 52592
|
|
|
|
|
|
| |
Patch by Gary Benson!
llvm-svn: 52418
|
|
|
|
|
|
|
| |
a JIT client to completely control symbol lookup with the LazyFunctionCreator
interface.
llvm-svn: 52335
|
|
|
|
| |
llvm-svn: 51496
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. The "JITState" object creates a PassManager with the ModuleProvider that the
jit is created with. If the ModuleProvider is removed and deleted, the
PassManager is invalid.
2. The Global maps in the JIT were not invalidated with a ModuleProvider was
removed. This could lead to a case where the Module would be freed, and a
new Module with Globals at the same addresses could return invalid results.
llvm-svn: 51384
|
|
|
|
| |
llvm-svn: 51229
|
|
|
|
| |
llvm-svn: 51152
|
|
|
|
|
|
| |
makefile targets to find these better.
llvm-svn: 51143
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
| |
llvm-svn: 50008
|
|
|
|
| |
llvm-svn: 49993
|
|
|
|
|
|
|
| |
function has already been codegen'd. This is required by the Java class loading
mechanism which executes Java code when materializing a function.
llvm-svn: 49988
|
|
|
|
| |
llvm-svn: 49977
|
|
|
|
| |
llvm-svn: 49924
|
|
|
|
|
|
|
|
| |
the memory manager which function
the stub will resolve.
llvm-svn: 49814
|
|
|
|
| |
llvm-svn: 49606
|