summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Make JIT::runFunction handle functions with non-C calling conventions.Chris Lattner2008-11-231-0/+1
| | | | llvm-svn: 59904
* Implement support for JIT exceptions on X86_64. Relative offsets areNicolas Geoffray2008-11-181-61/+27
| | | | | | | encoded on 32 bytes, and the personality function is not encoded as relative. llvm-svn: 59516
* Always emit a function pointer as a pointer to the function stub (if there ↵Evan Cheng2008-11-131-1/+20
| | | | | | is one). This makes it possible to compare function pointer values in lazy compilation mode. This fixes PR3043. llvm-svn: 59265
* Change binary dump format.Evan Cheng2008-11-121-9/+21
| | | | llvm-svn: 59119
* Comments and indentation.Evan Cheng2008-11-101-3/+3
| | | | llvm-svn: 59007
* Forgot these.Evan Cheng2008-11-101-19/+19
| | | | llvm-svn: 58952
* Remove a InvalidateInstructionCache call with incorrect size.Evan Cheng2008-11-081-4/+0
| | | | llvm-svn: 58898
* Rename startFunctionStub to startGVStub since it's also used for GV non-lazy ↵Evan Cheng2008-11-081-6/+6
| | | | | | ptr. llvm-svn: 58897
* Rename isString -> isExternalSymbol; getString -> getExternalSymbol since ↵Evan Cheng2008-11-081-3/+3
| | | | | | these work on externsym machine relocations. llvm-svn: 58895
* More debug output.Evan Cheng2008-11-081-0/+2
| | | | llvm-svn: 58894
* More debug output.Evan Cheng2008-11-072-2/+4
| | | | llvm-svn: 58868
* Jump tables may be emitted by target.Evan Cheng2008-11-071-9/+13
| | | | llvm-svn: 58835
* Improve JIT debugging outputs format consistency.Evan Cheng2008-11-062-16/+18
| | | | llvm-svn: 58807
* Need a \n.Evan Cheng2008-11-061-1/+2
| | | | llvm-svn: 58788
* Undo 58778 but makes the binary dump prettier.Evan Cheng2008-11-051-3/+21
| | | | llvm-svn: 58782
* Remove debug output that's not really useful.Evan Cheng2008-11-051-13/+0
| | | | llvm-svn: 58778
* Rename isGVLazyPtr to isGVNonLazyPtr relocation. This represents Mac OS XEvan Cheng2008-11-051-22/+22
| | | | | | indirect gv reference. Please don't call it lazy. llvm-svn: 58746
* Debugging output tweak.Evan Cheng2008-11-051-2/+2
| | | | llvm-svn: 58737
* For some targets, it's not possible to place GVs in the same memory buffer ↵Evan Cheng2008-11-041-0/+10
| | | | | | | | as the MachineCodeEmitter allocated memory. Code and data has different read / write / execution privilege requirements. This is a short term workaround. The current solution is for the JIT memory manager to manage code and data memory separately. llvm-svn: 58688
* 80 col violation.Evan Cheng2008-11-041-2/+2
| | | | llvm-svn: 58684
* Silence a compiler warning.Evan Cheng2008-11-031-1/+1
| | | | llvm-svn: 58598
* 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
OpenPOWER on IntegriCloud