summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Generalize the strlen size_t hack, for the benefit of the other externalBrian Gaeke2004-05-011-17/+33
| | | | | | functions with wrappers that either take or return size_ts. llvm-svn: 13296
* Go back to the interpreter main loop after performing intrinsic lowering,Brian Gaeke2004-04-231-0/+1
| | | | | | | | because 1) the first instruction might not be a call site, and 2) CS and SF.Caller were not getting set to point to the new call site anyway (resulting in a crash on e.g. call %llvm.memset). llvm-svn: 13122
* Implement emitWordAt() for the JIT emitter.Brian Gaeke2004-04-231-0/+5
| | | | llvm-svn: 13118
* Add support for the select instructionChris Lattner2004-04-202-2/+24
| | | | llvm-svn: 13076
* Add a TargetData to the PassManager regardless of the TargetMachine.Brian Gaeke2004-04-141-0/+3
| | | | | | This should unbreak the Sparc JIT again. llvm-svn: 12949
* Adjust to new interfaceChris Lattner2004-04-041-1/+1
| | | | llvm-svn: 12646
* Adjust to new gep_type_iterator prototypes.Chris Lattner2004-04-041-1/+3
| | | | llvm-svn: 12644
* Fix PR296: [execution engines] Unhandled cast constant expressionChris Lattner2004-03-161-6/+17
| | | | llvm-svn: 12435
* Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner2004-03-131-3/+3
| | | | | | Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. llvm-svn: 12356
* My fix for PR274 broke the build on Darwin/PPC. As I'm fairly certain thisBrian Gaeke2004-03-101-2/+4
| | | | | | | bug only affects Linux systems that use GLIBC, I'm going to put ifdefs around the array. llvm-svn: 12269
* Address PR274 - '[JIT] Programs cannot resolve the fstat function'Brian Gaeke2004-03-091-0/+18
| | | | | | | | | by trying to get the compiler to generate an undefined reference for it and related functions which live in libc_nonshared.a on Linux. Linkers... sigh. llvm-svn: 12256
* remove obsolete commentChris Lattner2004-02-261-1/+1
| | | | llvm-svn: 11872
* Represent va_list in interpreter as a (ec-stack-depth . var-arg-index)Brian Gaeke2004-02-251-11/+14
| | | | | | | | | pair, and look up varargs in the execution stack every time, instead of just pushing iterators (which can be invalidated during callFunction()) around. (union GenericValue now has a "pair of uints" member, to support this mechanism.) Fixes Bug 234. llvm-svn: 11845
* Great sparc renaming fallout IV: Sparc --> SparcV9.Brian Gaeke2004-02-251-1/+1
| | | | llvm-svn: 11844
* Great renaming part II: Sparc --> SparcV9 (also includes command-line ↵Brian Gaeke2004-02-251-5/+5
| | | | | | options and Makefiles) llvm-svn: 11827
* Make the JIT zero out globals with memset instead of an element at a time. ThisChris Lattner2004-02-151-0/+4
| | | | | | should speed it up a bit on a lot of programs llvm-svn: 11472
* Fix off-by-one in Interpreter::getFirstVarArg(), which was punishingBrian Gaeke2004-02-131-1/+1
| | | | | | | any attempts by LLI to use varargs (possibly left over from the introduction of IntrinsicLowering??) llvm-svn: 11370
* The Interpreter was failing the AtExit UnitTest. This fixes it.Brian Gaeke2004-02-131-0/+4
| | | | llvm-svn: 11367
* Start using the new and improve interface to FunctionType argumentsChris Lattner2004-02-091-2/+2
| | | | llvm-svn: 11224
* rename the "exceptional" destination of an invoke instruction to the ↵Chris Lattner2004-02-081-2/+1
| | | | | | 'unwind' dest llvm-svn: 11202
* Print out all globals as they are emitted, not just those emitted fromChris Lattner2004-02-081-3/+2
| | | | | | emitGlobals llvm-svn: 11191
* There is no reason to #define fdChris Lattner2004-02-081-3/+2
| | | | llvm-svn: 11190
* Print an error message if we can't materialize the bytecode fileChris Lattner2004-02-011-5/+11
| | | | llvm-svn: 11043
* Print an error message if there is an error materialize the bc file.Chris Lattner2004-02-011-1/+6
| | | | llvm-svn: 11041
* Don't pass anything to the IntrinsicLowering class that is not_intrinsic,Brian Gaeke2004-01-141-1/+4
| | | | | | | | | because that makes it abort. Also, fix a typo in a comment. This checkin brought to you by the "It only takes about 30 seconds to run ENABLE_LLI tests on Shootout on zion, even if they all dump core" fund. llvm-svn: 10844
* Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficientlyChris Lattner2003-12-311-5/+21
| | | | | | | | | | turn a memory address back into the LLVM global object that starts at that address. Note that this won't cause any additional datastructures to be built for clients of the EE that don't need this information. Also modified some code to not access the GlobalAddress map directly. llvm-svn: 10674
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-281-1/+0
| | | | | | implementation from the TargetMachine directly. llvm-svn: 10636
* Pass around IntrinsicLowering instances as appropriate.Chris Lattner2003-12-287-50/+74
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* Factor code out of LLIChris Lattner2003-12-261-0/+54
| | | | llvm-svn: 10616
* No longer run atExit functions from run()Chris Lattner2003-12-263-23/+27
| | | | | | | rename run to runFunction Genericize the runFunction code a little bit, though it still stinks llvm-svn: 10610
* No longer run atExit functions from run()Chris Lattner2003-12-262-10/+6
| | | | | | rename run to runFunction llvm-svn: 10609
* This should not be needed anymoreChris Lattner2003-12-201-4/+0
| | | | llvm-svn: 10558
* Implement PR135, lazy emission of global variablesChris Lattner2003-12-204-19/+85
| | | | llvm-svn: 10549
* Simple refactorings to prepare for lazy global emissionChris Lattner2003-12-201-2/+16
| | | | | | Also, add a stat for the number of globals emitted llvm-svn: 10547
* Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges theChris Lattner2003-12-206-221/+217
| | | | | | | VM.cpp and JIT.cpp files into JIT.cpp. This also splits some nasty code out into TargetSelect.cpp so that people hopefully won't notice it. :) llvm-svn: 10544
* Update for changes in the JITChris Lattner2003-12-201-2/+2
| | | | llvm-svn: 10543
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-203-15/+16
| | | | llvm-svn: 10542
* Finegrainify namespacificationChris Lattner2003-12-142-24/+2
| | | | llvm-svn: 10465
* Dynamically get the right-sized member of a GenericValue to hold a size_t, andBrian Gaeke2003-12-121-2/+8
| | | | | | use it to return the result of strlen. llvm-svn: 10433
* Implement the ExecutionEngine::getPointerToFunctionOrStub by forwarding theChris Lattner2003-12-122-0/+23
| | | | | | request on to the TargetMachine if it supports the getJITStubForFunction method llvm-svn: 10431
* Since we are using a gep_type_iterator, we apparently must get the typeBrian Gaeke2003-12-121-2/+1
| | | | | | | index by using I.getOperand() here. This was failing an assertion on basically every struct access. llvm-svn: 10426
* Fix typo in comment. Add prototype for getConstantExprValue().Brian Gaeke2003-12-111-1/+3
| | | | llvm-svn: 10390
* Add support for --debug-only=interpreter, to print out instrs beforeBrian Gaeke2003-12-111-40/+144
| | | | | | | | | | | | | | | | | | interpreting them. Move support for getting the value of a ConstantExpr into getConstantExprValue(), and add support for the rest of the different kinds of ConstantExprs. (I don't think I like ConstantExprs!) This requires separate procedures executeShlInst() and executeShrInst(). Reduce the number of references to TheEE. Get rid of an old comment mentioning annotations. Fix exitCalled(), which was crashing the Interpreter. This was a leftover from the return-value code refactoring. llvm-svn: 10389
* implement methodChris Lattner2003-12-081-0/+7
| | | | llvm-svn: 10321
* Use the new method, though noone currently implements it any better than beforeChris Lattner2003-12-081-1/+5
| | | | llvm-svn: 10320
* Finegrainify namespacificationChris Lattner2003-12-084-17/+5
| | | | llvm-svn: 10318
* Emit constants to one contiguous block, but this time, respect alignment ↵Chris Lattner2003-11-301-5/+27
| | | | | | | | constraints. If this doesn't work Misha, feel free to revert it. llvm-svn: 10267
* Go back to allocating memory for each constant separately. Since SPARCs do notMisha Brukman2003-11-301-20/+5
| | | | | | | | allow unaligned loads, that is probably the problem I've been seeing in numerous SPARC test cases failing. X86, on the other hand, just slows down unaligned accesses, since it must make 2 aligned accesses for each unaligned one. llvm-svn: 10266
* Do not depend on structure elements being of type UByteTyChris Lattner2003-11-252-22/+31
| | | | llvm-svn: 10224
* Fine grainify namespaceificationChris Lattner2003-11-191-5/+4
| | | | llvm-svn: 10093
OpenPOWER on IntegriCloud