summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix all of last night's JIT failures in Prolangs-C++ by finishing theReid Spencer2007-03-061-42/+151
| | | | | | implementation of getConstantValue(). llvm-svn: 34988
* 1. Make StoreValueToMemory a little more efficient by not requiring callerReid Spencer2007-03-061-2/+2
| | | | | | | | to make a copy of the GenericValue. 2. Fix a copy & paste bug in StoreValueToMemory where 64-bit values were truncated to 32 llvm-svn: 34958
* Simplify things significantly because GenericValue now has a single integerReid Spencer2007-03-061-281/+72
| | | | | | | | | field, of type APInt, instead of multiple integer fields. Also, get rid of the special endianness code in StoreValueToMemory and LoadValueToMemory. ExecutionEngine is always used to execute on the host platform so this is now unnecessary. llvm-svn: 34946
* Deal with error handling better.Reid Spencer2007-03-031-3/+5
| | | | llvm-svn: 34887
* Avoid memory leakage by having caller construct the APInt for theReid Spencer2007-03-031-5/+4
| | | | | | destination value of LoadValueFromMemory. llvm-svn: 34883
* Implement loading and storing of APInt values from memory.Reid Spencer2007-03-031-8/+16
| | | | llvm-svn: 34874
* For PR1195:Reid Spencer2007-02-151-1/+1
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* From Dan Gohman:Chris Lattner2007-02-141-2/+2
| | | | | | | | | | While preparing http://llvm.org/PR1198 I noticed several asserts protecting unprepared code from i128 types that weren't actually failing when they should because they were written as assert("foo") instead of something like assert(0 && "foo"). This patch fixes all the cases that a quick grep found. llvm-svn: 34267
* eliminate use of TargetData::getIndexedOffset that takes a vectorChris Lattner2007-02-101-2/+3
| | | | llvm-svn: 34163
* Privatize StructLayout::MemberOffsets, adding an accessorChris Lattner2007-02-101-1/+1
| | | | llvm-svn: 34156
* For PR411:Reid Spencer2007-02-051-1/+1
| | | | | | | | Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) llvm-svn: 33922
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-4/+4
| | | | | | confusion with external linkage types. llvm-svn: 33663
* For PR1043:Reid Spencer2007-01-191-6/+2
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* Fix a regression in the last patch. When constructing a BitMask, be carefulReid Spencer2007-01-181-0/+4
| | | | | | | not to overflow 64-bits and end up with a 0 mask. This caused i64 values to always be stored as 0 with lots of consequential damage to nightly test. llvm-svn: 33335
* Make sure we truncate stored values to their bit width.Reid Spencer2007-01-181-30/+40
| | | | llvm-svn: 33317
* For PR1064:Reid Spencer2007-01-121-98/+205
| | | | | | | | | | | | | | | | | | | | | | | 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-6/+6
| | | | 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-97/+69
| | | | | | Convert signed integer types to signless ones. llvm-svn: 32787
* remove static ctors from Statistic objectsChris Lattner2006-12-191-4/+2
| | | | llvm-svn: 32700
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-9/+9
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-2/+2
| | | | | | is 'unsigned'. llvm-svn: 32279
* Introducing external weak linkage. Darwin codegen should be added later.Anton Korobeynikov2006-12-011-1/+1
| | | | llvm-svn: 32052
* Removed #include <iostream> and replaced streams with llvm streams.Bill Wendling2006-11-271-12/+11
| | | | llvm-svn: 31949
* For PR950:Reid Spencer2006-11-271-20/+36
| | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
* init ivarChris Lattner2006-11-091-0/+2
| | | | llvm-svn: 31601
* For PR950:Reid Spencer2006-10-201-13/+13
| | | | | | | | 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
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-1/+3
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* initial changes to support JIT'ing from multiple module providers, implicitlyChris Lattner2006-08-161-56/+150
| | | | | | linking the program on the fly. llvm-svn: 29721
* LoadLibraryPermanently can theoretically throw an exception. Do not propagateChris Lattner2006-05-141-1/+4
| | | | | | it out of 'ExecutionEngine::create'. This fixes a problem reported by coverity. llvm-svn: 28293
* Move some methods out of line so that MutexGuard.h isn't needed in a public ↵Chris Lattner2006-05-081-3/+73
| | | | | | header. llvm-svn: 28179
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-15/+15
| | | | | | | | 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
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-1/+4
| | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947
* Fix JIT support for static ctors, which was apparently completely broken!Chris Lattner2006-04-221-1/+5
| | | | | | | This allows Prolangs-C++/city and probably a bunch of other stuff to work well with the new front-end llvm-svn: 27941
* prune #includesChris Lattner2006-03-231-1/+0
| | | | llvm-svn: 26975
* remove the intrinsiclowering hookChris Lattner2006-03-231-7/+5
| | | | llvm-svn: 26970
* Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.Chris Lattner2006-03-221-18/+8
| | | | | | Now you can build a tool with just the JIT or just the interpreter. llvm-svn: 26946
* Add a helper method for running static ctors/dtors in the module.Chris Lattner2006-03-081-2/+31
| | | | llvm-svn: 26619
* Teach the interpreter to handle global variables that are added to a module ↵Jeff Cohen2006-02-071-1/+10
| | | | | | | | | after interpretation has begun. The JIT already handles this situation correctly, and the interpreter can already handle new functions being added. llvm-svn: 26030
* Fixed InitializeMemory to handle ConstantPacked.Robert Bocchino2006-01-201-0/+6
| | | | llvm-svn: 25481
* Fix a nasty bug that was causing miscompilation of global variablesChris Lattner2005-10-231-1/+4
| | | | | | | on big endian 32-bit targets in some cases (e.g. PPC). This fixes several PPC JIT failures. llvm-svn: 23914
* For PR540:Reid Spencer2005-07-121-7/+10
| | | | | | | | | | | | | | | | | | | | | | 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
* fix long linesChris Lattner2005-07-111-3/+4
| | | | llvm-svn: 22369
* Fix a really horrible problem that causes the JIT to miscompile any programChris Lattner2005-05-121-2/+2
| | | | | | that use 64-bit integers on 32-bit hosts. llvm-svn: 21886
* Remove trailing whitespaceMisha Brukman2005-04-211-21/+21
| | | | llvm-svn: 21420
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-2/+2
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Use const iterators where possible. Patch by Evan Jones!Chris Lattner2005-02-271-2/+2
| | | | llvm-svn: 20354
* This is no longer needed. Global variables with undef initializers can beChris Lattner2005-02-021-2/+0
| | | | | | initialized to anything, including garbage. llvm-svn: 20010
* Silence VS warnings.Chris Lattner2005-01-081-37/+37
| | | | llvm-svn: 19391
OpenPOWER on IntegriCloud