summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Revert errant deletion. The target needs to be able to specify that it ↵Jim Grosbach2008-10-301-0/+5
| | | | | | doesn't want the generic constant pool to be emitted. llvm-svn: 58475
* Let target resolve some relocation results.Evan Cheng2008-10-291-30/+23
| | | | llvm-svn: 58407
* Support for constant islands in the ARM JIT.Jim Grosbach2008-10-281-0/+9
| | | | | | | | | | | | | | | | 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
* Support for allocation of TLS variables in the JIT. Allocation of a globalNicolas Geoffray2008-10-253-13/+41
| | | | | | | | 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
* CMake: Turned some libraries into partially linked objects. CorrectedOscar Fuentes2008-10-221-1/+1
| | | | | | names of LLVMCore and ARMCodeGen. llvm-svn: 57943
* fix a tricky bug in the JIT global variable emitter, that was triggered when ↵Nuno Lopes2008-10-212-6/+40
| | | | | | 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
* little optimization: reuse getPointerToGlobalIfAvailable(CGV) value in ↵Nuno Lopes2008-10-141-1/+1
| | | | | | emitGlobals() llvm-svn: 57484
* Revert r57340 move guard mutex in getPointerToFunction as this can causeMon P Wang2008-10-101-2/+2
| | | | | | deadlock issues with java llvm-svn: 57356
* Moved guard mutex upwards to guard materializing a functionMon P Wang2008-10-101-3/+3
| | | | | | in getPointerToFunction llvm-svn: 57340
* Add a "loses information" return value to APFloat::convertDale Johannesen2008-10-091-1/+2
| | | | | | | and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. llvm-svn: 57329
* Rename APFloat::convertToAPInt to bitcastToAPInt toDale Johannesen2008-10-091-8/+8
| | | | | | | make it clearer what the function does. No functional change. llvm-svn: 57325
* Add <cstdio> include where needed by gcc-4.4.Duncan Sands2008-10-082-0/+2
| | | | | | Patch by Samuel Tardieu. llvm-svn: 57291
* Unbreak build.Daniel Dunbar2008-10-031-18/+18
| | | | llvm-svn: 57017
* On Darwin ARM, memory needs special handling to do JIT. This patch expandsJim Grosbach2008-10-032-1/+26
| | | | | | | this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. llvm-svn: 57013
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-1/+1
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Acquire the lock only when necessary. More precisely, do not acquireNicolas Geoffray2008-10-031-10/+22
| | | | | | the lock when calling a method which may materialize the llvm::Function. llvm-svn: 56995
* Add runStaticConstructorsDestructors which runs ctors / dtors of a single ↵Evan Cheng2008-09-301-32/+40
| | | | | | module. Patch by David Chisnall. llvm-svn: 56849
* Large mechanical patch.Devang Patel2008-09-251-2/+2
| | | | | | | | | | | | | | | s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
* Add DisableGVCompilation which forces the JIT to assert when it tries to ↵Evan Cheng2008-09-242-0/+5
| | | | | | allocate space for a GlobalVariable. llvm-svn: 56557
* s/ParameterAttributes/Attributes/gDevang Patel2008-09-231-1/+0
| | | | llvm-svn: 56513
* Initial support for the CMake build system.Oscar Fuentes2008-09-223-0/+20
| | | | llvm-svn: 56419
* Preliminary support for systems which require changing JIT memory regions ↵Evan Cheng2008-09-183-1/+9
| | | | | | privilege from read / write to read / executable. llvm-svn: 56303
* Make safer variant of alias resolution routine to be defaultAnton Korobeynikov2008-09-091-1/+1
| | | | llvm-svn: 56005
* MMI may be null.Evan Cheng2008-09-021-1/+3
| | | | llvm-svn: 55626
* Add support for JIT exceptions on Darwin. Since we're dealing with libgcc,Nicolas Geoffray2008-08-281-2/+135
| | | | | | | 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
* Avoid a warning about isTargetNullPtr being unused in release builds.Dan Gohman2008-08-261-0/+2
| | | | llvm-svn: 55350
* Get rid of a couple of dynamic_cast.Evan Cheng2008-08-201-4/+10
| | | | llvm-svn: 55022
* Update the JIT exception writer to better mimic the codegen exception writer.Nicolas Geoffray2008-08-191-11/+10
| | | | | | | Also skip indirect encoding for platforms that ask for one: we direclty write an address, not a pointer to the address. llvm-svn: 54987
* Register the frame register function when allocating the JIT,Nicolas Geoffray2008-08-181-5/+5
| | | | | | so that lli works out of the box with -enable-eh. llvm-svn: 54920
* Move SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. ↵Anton Korobeynikov2008-08-161-40/+39
| | | | | | This makes JIT asmprinter-free. llvm-svn: 54843
* Some fixes for x86-64 JIT. Make it use small codeDale Johannesen2008-08-111-0/+13
| | | | | | | | | | | | 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
* Fix the LLVMCreateJITCompiler C binding.Gordon Henriksen2008-08-081-3/+3
| | | | | | | Evan broke it in r54523 by adding a parameter in the implementation without updating the header correspondingly. llvm-svn: 54555
* Add new parameter Fast to createJIT to enable the fast codegen path.Evan Cheng2008-08-087-17/+24
| | | | llvm-svn: 54523
* Rewrite JIT handling of GlobalVariables so theyDale Johannesen2008-08-074-23/+179
| | | | | | | | | | | | | | 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
* Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-stringDan Gohman2008-08-051-1/+1
| | | | | | | warning. There wasn't actually a problem here, because the contents of the string are known. llvm-svn: 54385
* Trim #includes.Dan Gohman2008-08-051-1/+0
| | | | llvm-svn: 54350
* Fix for PR2578. Do not split off a block whose size is less than ↵Evan Cheng2008-07-291-0/+3
| | | | | | FreeRangeHeader::getMinBlockSize(). Patch by Damien. llvm-svn: 54152
* Add a new hidden option to the interpreter to cause it to printChris Lattner2008-07-081-0/+8
| | | | | | | out every volatile load and store. This is useful for tracking down insane volatile memory bugs. llvm-svn: 53241
* Use empty() instead of size().Dan Gohman2008-07-071-1/+1
| | | | llvm-svn: 53178
* Correct a comment.Dan Gohman2008-07-031-1/+1
| | | | llvm-svn: 53064
* Prune a few dependencies on MachineFunction.h.Dan Gohman2008-07-011-1/+0
| | | | llvm-svn: 52976
* Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminatingDan Gohman2008-07-011-2/+2
| | | | | | | | | | | | | | | | 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
* Implement JIT support for global aliases, patch by David Chisnall!Chris Lattner2008-06-251-0/+2
| | | | llvm-svn: 52738
* Switch the PPC backend and target-independent JIT to use the libsystem Chris Lattner2008-06-251-1/+2
| | | | | | | InvalidateInstructionCache method instead of calling through a hook on the JIT. This is a host feature, not a target feature. llvm-svn: 52734
* Use back() instead of [size()-1].Dan Gohman2008-06-211-2/+2
| | | | llvm-svn: 52600
* Use static_cast instead of reinterpret_cast for casting void*.Dan Gohman2008-06-211-1/+1
| | | | llvm-svn: 52592
* Add C binding for ExecutionEngine::addGlobalMapping.Gordon Henriksen2008-06-201-0/+5
| | | | llvm-svn: 52523
* Provide generic hooks for icache invalidation. Add PPC implementation.Anton Korobeynikov2008-06-171-15/+1
| | | | | | Patch by Gary Benson! llvm-svn: 52418
* Don't forget to initialize SymbolSearchingDisabled.Evan Cheng2008-06-171-0/+1
| | | | llvm-svn: 52414
* Add a new flag that disables symbol lookup with dlsym when set. This allowsChris Lattner2008-06-161-33/+35
| | | | | | | a JIT client to completely control symbol lookup with the LazyFunctionCreator interface. llvm-svn: 52335
OpenPOWER on IntegriCloud