summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter
Commit message (Collapse)AuthorAgeFilesLines
* Fixes for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14848
* Fixes for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14847
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+1
| | | | llvm-svn: 14622
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-202-2/+2
| | | | llvm-svn: 14266
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-172-21/+21
| | | | llvm-svn: 14201
* Add int ferror(FILE *)Brian Gaeke2004-06-161-0/+8
| | | | llvm-svn: 14194
* These #includes are long deadChris Lattner2004-05-271-2/+0
| | | | llvm-svn: 13856
* Get rid of a wart: useless getFILE function is now a cast macro.Reid Spencer2004-05-251-42/+2
| | | | llvm-svn: 13747
* 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
* Add support for the select instructionChris Lattner2004-04-202-2/+24
| | | | llvm-svn: 13076
* 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
* 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
* 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
* 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
* 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
* 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-284-41/+58
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* No longer run atExit functions from run()Chris Lattner2003-12-262-10/+6
| | | | | | rename run to runFunction llvm-svn: 10609
* 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
* 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
* Do not depend on structure elements being of type UByteTyChris Lattner2003-11-252-22/+31
| | | | llvm-svn: 10224
* Change LLI's internal representation of va_list to a pointer to the nextBrian Gaeke2003-11-133-13/+15
| | | | | | | | argument to be returned by va_arg. This allows va_lists to be passed between different LLVM procedures (though it is unlikely that an LLI va_list would make sense to an external function, except by chance.) llvm-svn: 9965
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-114-1/+17
| | | | llvm-svn: 9903
* Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArgBrian Gaeke2003-11-072-0/+36
| | | | | | still causes a crash. But it's better than before. llvm-svn: 9794
* popStackAndReturnValueToCaller() must advance instruction pointer to normalBrian Gaeke2003-11-071-5/+24
| | | | | | | | destination, if returning from an invoke. Implement 'unwind' instruction. llvm-svn: 9792
* Add stub version of unwind supportBrian Gaeke2003-11-072-0/+5
| | | | llvm-svn: 9789
* visitCallInst --> visitCallSite.Brian Gaeke2003-11-072-4/+7
| | | | | | Use visitCallSite to implement both CallInsts and InvokeInsts. llvm-svn: 9788
* Make the operation of visitCallInst() only depend on the CallSite.Brian Gaeke2003-11-071-7/+9
| | | | llvm-svn: 9787
* Use CallSites for call sites, instead of CallInsts. A revolutionary concept.Brian Gaeke2003-11-072-9/+10
| | | | llvm-svn: 9784
* Refactor the return-from-function code into popStackAndReturnValueToCaller().Brian Gaeke2003-11-072-37/+42
| | | | | | Make external function calls slightly less special; now they get a stack frame. llvm-svn: 9765
* Be friendly to gcc 3.4... good compiler. Nice compiler.Chris Lattner2003-11-053-3/+1
| | | | llvm-svn: 9726
* Abort when the user program calls abort, instead of printing a funny message ↵Brian Gaeke2003-11-051-4/+2
| | | | | | and calling exit(1). llvm-svn: 9716
* Use regular old malloc to emulate malloc/alloca instructions.Brian Gaeke2003-11-051-2/+1
| | | | llvm-svn: 9713
* Remove a comment which no longer applies.Brian Gaeke2003-11-051-5/+0
| | | | llvm-svn: 9712
* Unbreak the buildChris Lattner2003-10-251-1/+0
| | | | llvm-svn: 9502
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-18/+4
| | | | | | | | | | CurFrame, TraceMode, and the CachedWriter are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. printValue() and print() are history. executeInstruction() is now part of run(). llvm-svn: 9493
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-13/+7
| | | | | | CurFrame, TraceMode, and the CachedWriter are history. llvm-svn: 9492
* The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history.Brian Gaeke2003-10-241-71/+0
| | | | llvm-svn: 9490
* Reduce the number of #includes.Brian Gaeke2003-10-241-186/+22
| | | | | | | | | | | | | CurFrame, TraceMode, and the CachedWriter are history. ArrayChecksEnabled and non-QuietMode are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. Stop pre-initializing Values on the stack to 42. Remove some dead variables, excess whitespace and commented-out code. executeInstruction() is now part of run(). printValue() and print() are history. llvm-svn: 9489
* Added LLVM copyright header.John Criswell2003-10-212-0/+14
| | | | llvm-svn: 9321
OpenPOWER on IntegriCloud