summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.Brian Gaeke2003-06-171-0/+3
| | | | | | | (We're already talking about autoconf'ing this, so I'm assuming this hack will be short-lived...I just don't want it to get lost in my working files.) llvm-svn: 6761
* Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms whereBrian Gaeke2003-06-171-1/+1
| | | | | | it is needed. llvm-svn: 6753
* Use std::isnan instead of isnan. Brought back to you from theBrian Gaeke2003-06-171-1/+1
| | | | | | future, by the reconciliation of the C++ and C99 standards. Someday. llvm-svn: 6751
* Life is too short. Link in too much stuff on Linux to make building on sun ↵Chris Lattner2003-06-171-4/+3
| | | | | | easier llvm-svn: 6748
* The never-ending odyssey trying to get sparc to linkChris Lattner2003-06-171-1/+1
| | | | llvm-svn: 6747
* Make sure to get the value of ARCH before we use itChris Lattner2003-06-171-0/+5
| | | | llvm-svn: 6746
* Do not link in the Sparc JIT when building on X86. Eventually the sparc ↵Chris Lattner2003-06-171-6/+6
| | | | | | | | | | will not link in the X86 JIT either, but this makes testing easier. For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :( llvm-svn: 6745
* Apparently "sparc" is a macro on sparcs. Ugh. :)Chris Lattner2003-06-171-4/+4
| | | | llvm-svn: 6744
* Whoops, didn't mean to check that in :(Chris Lattner2003-06-171-3/+19
| | | | llvm-svn: 6743
* Use more structured command line option processingChris Lattner2003-06-172-41/+31
| | | | llvm-svn: 6742
* #ifdef out code that only applies when the HOSTARCH = sparcChris Lattner2003-06-171-1/+4
| | | | llvm-svn: 6741
* Add #include for older GCC'sChris Lattner2003-06-081-0/+1
| | | | llvm-svn: 6670
* ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::Misha Brukman2003-06-061-1/+14
| | | | | | | | | | | | | | | | | The JIT is designed to code-generate a function at-a-time. That means that any pass can only make local changes to its function. Period. Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding globals to the Module, it cannot be run with the other passes, because by this time, the globals have been output already by the JIT, and the addresses of any globals appearing AFTER this point are not recognized. However, the PreSelection pass is a requirement for correctness in the Sparc codegen path, so it MUST be run. ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: llvm-svn: 6650
* Output function address as hex.Misha Brukman2003-06-061-3/+2
| | | | llvm-svn: 6649
* Removed debug print statement.Misha Brukman2003-06-061-1/+0
| | | | llvm-svn: 6641
* * Institute a hack for the Sparc call to mmap() to get our generated code to beMisha Brukman2003-06-041-10/+16
| | | | | | | | | | | laid out closer to the VM so that calls to library functions (e.g. puts()) and callback (e.g. JITResolver::CompilationCallback) fit into 30 bits of the call instruction. * Abort if architecture is not yet supported (not X86 or Sparc) because it likely requires a different set of parameters to mmap() . * Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead. llvm-svn: 6610
* Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in theMisha Brukman2003-06-041-0/+4
| | | | | | currently-running process. llvm-svn: 6592
* * Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cppMisha Brukman2003-06-024-260/+23
| | | | | | | | | * No more createX86Emitter() vs. createSparcEmitter() -- there can be only one * As a result, the memory management semantics must be handled according to platform -- the parameters to mmap() are particularly sensitive to the host architecture. llvm-svn: 6527
* The flag modifications weren't picking up the old values of theBrian Gaeke2003-06-021-5/+10
| | | | | | | flags before. Save them in a temporary variable, then restore them from the temporary after creating the new constant. llvm-svn: 6520
* Remove obsolete codeChris Lattner2003-06-021-51/+0
| | | | llvm-svn: 6518
* Move target specific code to target files. The new MachineCodeEmitterChris Lattner2003-06-015-171/+76
| | | | | | class is actually target independent! llvm-svn: 6517
* Fix induction variable name clash in for loops, in finishFunction().Brian Gaeke2003-06-011-3/+8
| | | | | | | Modify new MachineOperand so that its flags match the old MachineOperand's flags, for the flags that matter. llvm-svn: 6513
* Fixed rewriting of branches -- they now work forward and backward.Misha Brukman2003-05-311-4/+9
| | | | llvm-svn: 6463
* Since malloc is no longer used, no need to free() memory.Misha Brukman2003-05-301-15/+11
| | | | | | Fixed BasicBlock patching by supplying correct type for the displacement. llvm-svn: 6453
* Fix call to mmap, so that it can be used on sparc.Brian Gaeke2003-05-301-10/+5
| | | | llvm-svn: 6424
* mmap() seems to be failing on Sparc, so just use malloc()/free() .Misha Brukman2003-05-281-4/+29
| | | | llvm-svn: 6387
* Link in Sparc libs for the JIT, even on X86 to be able to support debuggingMisha Brukman2003-05-271-3/+19
| | | | | | of Sparc JIT (printing out instrs) on X86. Con: this increases linking time. llvm-svn: 6361
* Allow for specification of which JIT to run on the commandline.Misha Brukman2003-05-274-13/+269
| | | | | | | | | | | | | | | | `lli -march=x86' or `lli -march=sparc' will forcefully select the JIT even on a different platform. Running lli without the -march option will select the JIT for the platform that it's currently running on. Pro: can test Sparc JIT (debug printing mode) on X86 -- faster to compile/link LLVM source base to test changes. Con: Linking lli on x86 now pulls in all the Sparc libs -> longer link time (but X86 can bear it, right?) In the future, perhaps this should be a ./configure option to enable/disable target JITting... llvm-svn: 6360
* Fix typeosChris Lattner2003-05-141-4/+4
| | | | llvm-svn: 6204
* Add support for more constant expressionsChris Lattner2003-05-141-6/+35
| | | | llvm-svn: 6203
* Add support for atexit function, remove support for __main functionChris Lattner2003-05-145-14/+37
| | | | llvm-svn: 6194
* Add support for atexit handlers to the JIT, fixing 2003-05-14-AtExit.cChris Lattner2003-05-143-4/+28
| | | | llvm-svn: 6193
* Fix compilation problems with previous checking *blush*Chris Lattner2003-05-141-3/+4
| | | | llvm-svn: 6191
* Add a framework for intercepting system callsChris Lattner2003-05-142-21/+54
| | | | llvm-svn: 6190
* Clean up castChris Lattner2003-05-131-1/+1
| | | | llvm-svn: 6174
* Make sure that globals are emitted AFTER the passmanager is set up for the JIT,Chris Lattner2003-05-122-0/+2
| | | | | | because the globals may refer to functions that need to be compiled! llvm-svn: 6105
* switch main LLI core execution to use an InstVisitor instead of a switch ↵Chris Lattner2003-05-102-67/+61
| | | | | | statement llvm-svn: 6081
* Fix testcase: SingleSource/UnitTests/2003-05-02-DependantPHI.cChris Lattner2003-05-102-34/+55
| | | | llvm-svn: 6074
* Add support for function stubs, which allow calling functions which need toChris Lattner2003-05-094-8/+73
| | | | | | have an address available, but have not yet been code generated. llvm-svn: 6059
* Minor speedup by avoiding callbacks to functions already generatedChris Lattner2003-05-082-6/+9
| | | | llvm-svn: 6052
* Improve efficiency of JIT by having it use direct function calls instead ofChris Lattner2003-05-083-36/+29
| | | | | | signals to regain control from the executing code llvm-svn: 6051
* assert early instead of late for unimplemented featureChris Lattner2003-05-081-3/+10
| | | | llvm-svn: 6050
* Implement varargs support for LLI!Chris Lattner2003-05-082-73/+56
| | | | llvm-svn: 6043
* Add a pointersize/endianness safe load routine to match the store routineChris Lattner2003-05-081-0/+76
| | | | llvm-svn: 6042
* A large number of simple changes:Chris Lattner2003-05-087-178/+95
| | | | | | | * s/Method/Function * Kill some obsolete (external) functions that used to be to support tracing llvm-svn: 6041
* Add support for recording arguments passed through the ... of a varargs functionChris Lattner2003-05-082-10/+17
| | | | llvm-svn: 6040
* Fix bug: Jello/2003-05-07-ArgumentTest.llxChris Lattner2003-05-071-17/+33
| | | | | | Also fixes yacr2/ks benchmarks llvm-svn: 6017
* Remove two fields from TargetData which are target specific.Chris Lattner2003-04-261-1/+0
| | | | llvm-svn: 5963
* Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit ↵Chris Lattner2003-04-251-1/+2
| | | | | | host llvm-svn: 5942
* Add __strdupChris Lattner2003-04-251-0/+7
| | | | llvm-svn: 5941
OpenPOWER on IntegriCloud