aboutsummaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine
AgeCommit message (Collapse)Author
2003-06-17Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.Brian Gaeke
(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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6761 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms whereBrian Gaeke
it is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Use std::isnan instead of isnan. Brought back to you from theBrian Gaeke
future, by the reconciliation of the C++ and C99 standards. Someday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Life is too short. Link in too much stuff on Linux to make building on sun ↵Chris Lattner
easier git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17The never-ending odyssey trying to get sparc to linkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Make sure to get the value of ARCH before we use itChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6746 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Do not link in the Sparc JIT when building on X86. Eventually the sparc ↵Chris Lattner
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. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Apparently "sparc" is a macro on sparcs. Ugh. :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6744 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Whoops, didn't mean to check that in :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17Use more structured command line option processingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6742 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17#ifdef out code that only applies when the HOSTARCH = sparcChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6741 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-08Add #include for older GCC'sChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::Misha Brukman
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 ::: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6650 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06Output function address as hex.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6649 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06Removed debug print statement.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6641 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04* Institute a hack for the Sparc call to mmap() to get our generated code to beMisha Brukman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6610 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in theMisha Brukman
currently-running process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6592 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cppMisha Brukman
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6527 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02The flag modifications weren't picking up the old values of theBrian Gaeke
flags before. Save them in a temporary variable, then restore them from the temporary after creating the new constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6520 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02Remove obsolete codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6518 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01Move target specific code to target files. The new MachineCodeEmitterChris Lattner
class is actually target independent! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6517 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01Fix induction variable name clash in for loops, in finishFunction().Brian Gaeke
Modify new MachineOperand so that its flags match the old MachineOperand's flags, for the flags that matter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6513 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31Fixed rewriting of branches -- they now work forward and backward.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6463 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30Since malloc is no longer used, no need to free() memory.Misha Brukman
Fixed BasicBlock patching by supplying correct type for the displacement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30Fix call to mmap, so that it can be used on sparc.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-28mmap() seems to be failing on Sparc, so just use malloc()/free() .Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27Link in Sparc libs for the JIT, even on X86 to be able to support debuggingMisha Brukman
of Sparc JIT (printing out instrs) on X86. Con: this increases linking time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6361 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27Allow for specification of which JIT to run on the commandline.Misha Brukman
`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... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6360 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Fix typeosChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6204 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Add support for more constant expressionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Add support for atexit function, remove support for __main functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Add support for atexit handlers to the JIT, fixing 2003-05-14-AtExit.cChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Fix compilation problems with previous checking *blush*Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6191 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14Add a framework for intercepting system callsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13Clean up castChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12Make sure that globals are emitted AFTER the passmanager is set up for the JIT,Chris Lattner
because the globals may refer to functions that need to be compiled! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10switch main LLI core execution to use an InstVisitor instead of a switch ↵Chris Lattner
statement git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6081 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10Fix testcase: SingleSource/UnitTests/2003-05-02-DependantPHI.cChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6074 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09Add support for function stubs, which allow calling functions which need toChris Lattner
have an address available, but have not yet been code generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6059 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08Minor speedup by avoiding callbacks to functions already generatedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6052 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08Improve efficiency of JIT by having it use direct function calls instead ofChris Lattner
signals to regain control from the executing code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6051 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08assert early instead of late for unimplemented featureChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6050 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08Implement varargs support for LLI!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6043 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08Add a pointersize/endianness safe load routine to match the store routineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08A large number of simple changes:Chris Lattner
* s/Method/Function * Kill some obsolete (external) functions that used to be to support tracing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6041 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08Add support for recording arguments passed through the ... of a varargs functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6040 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-07Fix bug: Jello/2003-05-07-ArgumentTest.llxChris Lattner
Also fixes yacr2/ks benchmarks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6017 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26Remove two fields from TargetData which are target specific.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit ↵Chris Lattner
host git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5942 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25Add __strdupChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5941 91177308-0d34-0410-b5e6-96231b3b80d8