summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Silence VS warningsChris Lattner2005-01-081-4/+4
| | | | llvm-svn: 19389
* Add support for unreachableChris Lattner2004-10-161-0/+5
| | | | llvm-svn: 17056
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-2/+3
| | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fixes for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14848
* Fixes for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14847
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14266
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-20/+20
| | | | llvm-svn: 14201
* 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-201-2/+22
| | | | llvm-svn: 13076
* 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
* 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
* The Interpreter was failing the AtExit UnitTest. This fixes it.Brian Gaeke2004-02-131-0/+4
| | | | llvm-svn: 11367
* 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-281-5/+36
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* 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
* 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
* Do not depend on structure elements being of type UByteTyChris Lattner2003-11-251-20/+28
| | | | llvm-svn: 10224
* Change LLI's internal representation of va_list to a pointer to the nextBrian Gaeke2003-11-131-10/+10
| | | | | | | | 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-111-1/+5
| | | | llvm-svn: 9903
* Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArgBrian Gaeke2003-11-071-0/+35
| | | | | | 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-071-0/+4
| | | | llvm-svn: 9789
* visitCallInst --> visitCallSite.Brian Gaeke2003-11-071-2/+2
| | | | | | 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-071-7/+7
| | | | llvm-svn: 9784
* Refactor the return-from-function code into popStackAndReturnValueToCaller().Brian Gaeke2003-11-071-37/+41
| | | | | | 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-051-1/+0
| | | | llvm-svn: 9726
* 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
* 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 project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Interpret the new varargs intrinsics correctlyChris Lattner2003-10-181-16/+6
| | | | llvm-svn: 9222
* Fix spelling.Misha Brukman2003-10-101-1/+1
| | | | llvm-svn: 9021
* Never set any signal handlers.Brian Gaeke2003-10-101-37/+2
| | | | | | Never call setjmp(), longjmp() or strsignal(). llvm-svn: 9014
* Change FunctionInfo from being an annotation put on Functions to beChris Lattner2003-09-171-7/+6
| | | | | | something which is mapped from functions. llvm-svn: 8580
* Make getOperandValue and executeCastOperation methods of Interpreter.Brian Gaeke2003-09-051-3/+3
| | | | | | This lets us protect a few more ExecutionEngine methods. llvm-svn: 8367
* Remove printOperandInfo(), and simplify run().Brian Gaeke2003-09-051-30/+0
| | | | llvm-svn: 8362
* Remove support for printing values from a module by name, only usedBrian Gaeke2003-09-051-17/+0
| | | | | | | w/ interactive keyboard entry of names. With that, Support.cpp is history. llvm-svn: 8360
* Remove support for interactive (step finish next) instructions.Brian Gaeke2003-09-051-115/+0
| | | | | | | | | Remove printCurrentInstruction, printStackFrame and infoValue (only used interactively) and other unused methods of Interpreter. Fold UserInput.cpp containing only callMainFunction() into Interpreter.cpp. Remove unused Profile flag. llvm-svn: 8359
* Remove support for breakpoints (not used).Brian Gaeke2003-09-041-31/+7
| | | | | | Remove some dead code and whitespace. llvm-svn: 8346
* Interpreter cleanups:Brian Gaeke2003-09-041-79/+2
| | | | | | | | | | | | Get rid of support for DebugMode (make it always off). Mung some comments. Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff which have been disabled forever. Get rid of -abort-on-exception (make it always on). Get rid of user interaction stuff (debug mode innards). Simplify Interpreter's callMainFunction(). llvm-svn: 8344
* Remove redundant const qualifierChris Lattner2003-07-231-3/+3
| | | | llvm-svn: 7254
* Add support for atexit function, remove support for __main functionChris Lattner2003-05-141-4/+3
| | | | llvm-svn: 6194
* switch main LLI core execution to use an InstVisitor instead of a switch ↵Chris Lattner2003-05-101-50/+36
| | | | | | statement llvm-svn: 6081
* Fix testcase: SingleSource/UnitTests/2003-05-02-DependantPHI.cChris Lattner2003-05-101-33/+47
| | | | llvm-svn: 6074
* Implement varargs support for LLI!Chris Lattner2003-05-081-73/+23
| | | | llvm-svn: 6043
* A large number of simple changes:Chris Lattner2003-05-081-18/+19
| | | | | | | * s/Method/Function * Kill some obsolete (external) functions that used to be to support tracing llvm-svn: 6041
OpenPOWER on IntegriCloud