summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/JIT/JIT.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add detection of __dso_handle presence during configure. Use this ↵Anton Korobeynikov2007-07-301-15/+20
| | | | | | | | | information in the JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built binaries, since cxa_atexit is enabled by default on much more targets. llvm-svn: 40600
* Here is the bulk of the sanitizing.Gabor Greif2007-07-051-3/+3
| | | | | | Almost all occurrences of "bytecode" in the sources have been eliminated. llvm-svn: 37913
* rename JIT::state -> JIT::jitstate to avoid shadowing ExecutionEngine::stateChris Lattner2007-04-201-7/+7
| | | | llvm-svn: 36286
* Simplify code as a result of the change in GenericValue to have a singleReid Spencer2007-03-061-28/+15
| | | | | | integer field of type APInt instead of different sized integer fields. llvm-svn: 34952
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-1/+1
| | | | | | Patch by Scott Michel. llvm-svn: 34266
* eliminate vector-related allocationsChris Lattner2007-02-131-2/+2
| | | | llvm-svn: 34223
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner2007-01-201-1/+1
| | | | | | these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
* For PR1064:Reid Spencer2007-01-121-17/+31
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-1/+1
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-3/+3
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-1/+1
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* For PR950:Reid Spencer2006-12-311-32/+24
| | | | | | Convert signed integer types to signless ones. llvm-svn: 32787
* Fix PR1057 (compilation on macos 10.3), patch by Scott Michel!Chris Lattner2006-12-171-8/+8
| | | | llvm-svn: 32644
* Change inferred cast creation calls to more specific cast creations.Reid Spencer2006-12-121-1/+1
| | | | llvm-svn: 32460
* Removing even more <iostream> includes.Bill Wendling2006-12-071-6/+5
| | | | llvm-svn: 32320
* For PR950:Reid Spencer2006-10-201-12/+12
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. llvm-svn: 30081
* eliminate use of TM.getName()Chris Lattner2006-09-031-2/+1
| | | | llvm-svn: 30068
* Remove extra spaces.Evan Cheng2006-09-011-2/+2
| | | | llvm-svn: 30025
* Last check-in was a mistake...Evan Cheng2006-09-011-4/+6
| | | | | | | | | | | I've been told apple gcc version number is not guaranteed to increase monotonically. Change the preprocess condition to make it less risky. The configuration change is done during the middle 10.4 life cycle so we have to check __APPLE_CC. For future OS X release, we should be able to assume -fenable-cxa-atexit is the default. llvm-svn: 30024
* *** empty log message ***Evan Cheng2006-09-011-2/+2
| | | | llvm-svn: 30023
* Better comments.Evan Cheng2006-09-011-1/+4
| | | | llvm-svn: 30017
* Yikes. This requires checking apple gcc version.Evan Cheng2006-09-011-2/+4
| | | | llvm-svn: 30016
* initial changes to support JIT'ing from multiple module providers, implicitlyChris Lattner2006-08-161-1/+12
| | | | | | linking the program on the fly. llvm-svn: 29721
* Fix the build on my old and busted version of OS XNate Begeman2006-07-221-1/+6
| | | | llvm-svn: 29266
* Forgot to #ifdef __APPLE__Evan Cheng2006-07-221-0/+2
| | | | llvm-svn: 29264
* Resolve __dso_handle.Evan Cheng2006-07-211-0/+8
| | | | llvm-svn: 29259
* Remove non-portable optimization that isn't worth itChris Lattner2006-07-121-5/+1
| | | | llvm-svn: 29115
* Adapt to new interface function materialization interfaceChris Lattner2006-07-071-9/+5
| | | | llvm-svn: 29051
* Fix -pedantic warnings.Chris Lattner2006-06-011-11/+11
| | | | llvm-svn: 28636
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-0/+1
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Move some methods out of line so that MutexGuard.h isn't needed in a public ↵Chris Lattner2006-05-081-5/+1
| | | | | | header. llvm-svn: 28179
* Adjust to use proper TargetData copy ctorChris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28112
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-2/+2
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Do not make the JIT memory manager manage the memory for globals. InsteadChris Lattner2006-05-021-4/+16
| | | | | | just have the JIT malloc them. llvm-svn: 28062
* Get JIT/Interpreter working on Windows again.Jeff Cohen2006-03-241-0/+5
| | | | llvm-svn: 27037
* Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.Chris Lattner2006-03-221-1/+4
| | | | | | Now you can build a tool with just the JIT or just the interpreter. llvm-svn: 26946
* wrap long lineChris Lattner2006-01-071-1/+2
| | | | llvm-svn: 25139
* Like constants, globals on some platforms are GOT relative. This means they ↵Andrew Lenharth2005-07-281-1/+2
| | | | | | | | | | | | | | have to be allocated near the GOT, which new doesn't do. So break out the allocate into a new function. Also move GOT index handling into JITResolver. This lets it update the mapping when a Lazy function is JITed. It doesn't managed the table, just the mapping. Note that this is still non-ideal, as any function that takes a function address should also take a GOT index, but that is a lot of changes. The relocation resolve process updates any GOT entry it sees is out of date. llvm-svn: 22537
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* For PR540:Reid Spencer2005-07-121-6/+14
| | | | | | | | | | | | | | | | | | | | | | This patch completes the changes for making lli thread-safe. Here's the list of changes: * The Support/ThreadSupport* files were removed and replaced with the MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard. The implementation of MutexGuard.h is now based on sys::Mutex which hides its implementation and makes it unnecessary to have the -NoSupport.h and -PThreads.h versions of ThreadSupport. * All places in ExecutionEngine that previously referred to "Mutex" now refer to sys::Mutex * All places in ExecutionEngine that previously referred to "MutexLocker" now refer to MutexGuard (this is frivolous but I believe the technically correct name for such a class is "Guard" not a "Locker"). These changes passed all of llvm-test. All we need now are some test cases that actually use multiple threads. llvm-svn: 22404
* Make the stub functions be tail callsChris Lattner2005-05-061-1/+2
| | | | llvm-svn: 21738
* Remove trailing whitespaceMisha Brukman2005-04-211-7/+7
| | | | llvm-svn: 21422
* Silence VS warnings.Chris Lattner2005-01-081-1/+2
| | | | llvm-svn: 19390
* Properly implement a fix for PR475Chris Lattner2004-12-051-13/+0
| | | | llvm-svn: 18537
* Revert this patch, it broke a ton of programs.Chris Lattner2004-12-051-4/+0
| | | | llvm-svn: 18535
* Fix PR475.Alkis Evlogimenos2004-12-051-0/+4
| | | | llvm-svn: 18515
* Use System/DynamicLibrary instead of Support/DynamicLinkerReid Spencer2004-11-291-2/+2
| | | | llvm-svn: 18357
* This method does not exist any longer.Chris Lattner2004-11-201-4/+0
| | | | llvm-svn: 18061
OpenPOWER on IntegriCloud