summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Move some methods out of line so that MutexGuard.h isn't needed in a public ↵Chris Lattner2006-05-083-9/+83
| | | | | | header. llvm-svn: 28179
* Adjust to use proper TargetData copy ctorChris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28112
* minor cleanups, no functionality changeChris Lattner2006-05-031-7/+7
| | | | llvm-svn: 28087
* Suck block address tracking out of targets into the JIT Emitter. ThisChris Lattner2006-05-031-9/+29
| | | | | | | simplifies the MachineCodeEmitter interface just a little bit and makes BasicBlocks work like constant pools and jump tables. llvm-svn: 28082
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-034-19/+19
| | | | | | | | 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
* Align function bodies correctly.Chris Lattner2006-05-031-4/+2
| | | | llvm-svn: 28073
* Simplify some code. Don't add memory blocks to the Blocks list twice.Chris Lattner2006-05-031-16/+8
| | | | llvm-svn: 28071
* Change the BasicBlockAddrs map to be a vector, indexed by MBB number.Chris Lattner2006-05-031-3/+3
| | | | llvm-svn: 28069
* Simplify some codeChris Lattner2006-05-031-21/+7
| | | | llvm-svn: 28066
* Several related changes:Chris Lattner2006-05-021-39/+23
| | | | | | | | | | | | | 1. Change several methods in the MachineCodeEmitter class to be pure virtual. 2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them from the MachineCodeEmitter interface, and reducing the amount of target- specific code. 3. Change the JITEmitter so that it allocates constantpools and jump tables *right* next to the functions that they belong to, instead of in a separate pool of memory. This makes all memory for a function be contiguous, and means the JITEmitter only tracks one block of memory now. llvm-svn: 28065
* Do not make the JIT memory manager manage the memory for globals. InsteadChris Lattner2006-05-022-39/+19
| | | | | | just have the JIT malloc them. llvm-svn: 28062
* Minor cleanups, no functionality change.Chris Lattner2006-05-021-17/+11
| | | | llvm-svn: 28061
* Refactor the machine code emitter interface to pull the pointers for the currentChris Lattner2006-05-021-52/+31
| | | | | | | | | | code emission location into the base class, instead of being in the derived classes. This change means that low-level methods like emitByte/emitWord now are no longer virtual (yaay for speed), and we now have a framework to support growable code segments. This implements feature request #1 of PR469. llvm-svn: 28059
* Remove dead methodChris Lattner2006-05-021-5/+0
| | | | llvm-svn: 28055
* Fix a warningNate Begeman2006-04-251-1/+1
| | | | llvm-svn: 27967
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-222-2/+86
| | | | | | | | 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
* Get JIT/Interpreter working on Windows again.Jeff Cohen2006-03-242-0/+10
| | | | llvm-svn: 27037
* prune #includesChris Lattner2006-03-231-1/+0
| | | | llvm-svn: 26975
* remove always-null IntrinsicLowering argument.Chris Lattner2006-03-231-1/+1
| | | | llvm-svn: 26971
* remove the intrinsiclowering hookChris Lattner2006-03-235-26/+18
| | | | llvm-svn: 26970
* Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.Chris Lattner2006-03-225-21/+35
| | | | | | Now you can build a tool with just the JIT or just the interpreter. llvm-svn: 26946
* Convert llvm.cs.uiuc.edu -> llvm.orgReid Spencer2006-03-141-1/+1
| | | | llvm-svn: 26748
* Add a helper method for running static ctors/dtors in the module.Chris Lattner2006-03-081-2/+31
| | | | llvm-svn: 26619
* simplify this code now that each constant pool entry is not separately allocatedChris Lattner2006-02-091-15/+16
| | | | llvm-svn: 26079
* Adjust to MachineConstantPool interface change: instead of keeping aChris Lattner2006-02-091-7/+10
| | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078
* rename fields of constant pool entriesChris Lattner2006-02-091-6/+4
| | | | llvm-svn: 26076
* The interpreter assumes that the caller of runFunction() must be lli, andJeff Cohen2006-02-073-8/+7
| | | | | | | | therefore the function being called must be a main() returning an int. The consequences when these assumptions are false are not good, so don't assume them. llvm-svn: 26031
* 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
* Allow the specification of explicit alignments for constant pool entries.Evan Cheng2006-01-311-4/+6
| | | | llvm-svn: 25855
* Add #include of <iostream>Chris Lattner2006-01-221-1/+2
| | | | llvm-svn: 25516
* Fixed InitializeMemory to handle ConstantPacked.Robert Bocchino2006-01-201-0/+6
| | | | llvm-svn: 25481
* Wrap long lines.Chris Lattner2006-01-071-6/+8
| | | | llvm-svn: 25140
* wrap long lineChris Lattner2006-01-071-1/+2
| | | | llvm-svn: 25139
* 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
* Shrinkify to match llcChris Lattner2005-10-231-3/+3
| | | | llvm-svn: 23912
* Add help support for -mcpu and -mattr.Jim Laskey2005-09-021-3/+3
| | | | llvm-svn: 23222
* 1. Use SubtargetFeatures in llc/lli.Jim Laskey2005-09-011-1/+24
| | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192
* one cannot allocate a global, until one is done initializing the global pointersAndrew Lenharth2005-08-011-5/+5
| | | | llvm-svn: 22568
* Keep tabs and trailing spaces out.Jeff Cohen2005-07-301-4/+4
| | | | llvm-svn: 22565
* support near allocations for the JITAndrew Lenharth2005-07-291-33/+73
| | | | llvm-svn: 22554
* Like constants, globals on some platforms are GOT relative. This means they ↵Andrew Lenharth2005-07-282-14/+78
| | | | | | | | | | | | | | 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-273-12/+12
| | | | llvm-svn: 22523
* fix a warning on 32-bit systemsChris Lattner2005-07-251-1/+1
| | | | llvm-svn: 22513
* the JIT memory manager will construct a GOT if you want it too. Also, it ↵Andrew Lenharth2005-07-221-9/+51
| | | | | | places the constants in the allocated memory, rather than a malloc area llvm-svn: 22497
* count the number of relocations performed.Chris Lattner2005-07-201-0/+3
| | | | llvm-svn: 22480
* For PR540:Reid Spencer2005-07-124-34/+86
| | | | | | | | | | | | | | | | | | | | | | 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
* core changes for varargsAndrew Lenharth2005-06-182-13/+3
| | | | llvm-svn: 22254
* 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
OpenPOWER on IntegriCloud