aboutsummaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/Interpreter/Interpreter.h
AgeCommit message (Collapse)Author
2004-09-01Changes For Bug 352Reid Spencer
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/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not #include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20Add support for the select instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13076 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-04Adjust to new interfaceChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12646 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-04Adjust to new gep_type_iterator prototypes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26remove obsolete commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11872 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13Fix off-by-one in Interpreter::getFirstVarArg(), which was punishingBrian Gaeke
any attempts by LLI to use varargs (possibly left over from the introduction of IntrinsicLowering??) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11370 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-28Pass around IntrinsicLowering instances as appropriate.Chris Lattner
Reimplement the Interpreters implementation of va_* to be more direct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10627 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-26No longer run atExit functions from run()Chris Lattner
rename run to runFunction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11Fix typo in comment. Add prototype for getConstantExprValue().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10390 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08implement methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-25Do not depend on structure elements being of type UByteTyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10224 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13Change LLI's internal representation of va_list to a pointer to the nextBrian Gaeke
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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9965 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArgBrian Gaeke
still causes a crash. But it's better than before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9794 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Add stub version of unwind supportBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07visitCallInst --> visitCallSite.Brian Gaeke
Use visitCallSite to implement both CallInsts and InvokeInsts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Use CallSites for call sites, instead of CallInsts. A revolutionary concept.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9784 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Refactor the return-from-function code into popStackAndReturnValueToCaller().Brian Gaeke
Make external function calls slightly less special; now they get a stack frame. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9765 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Be friendly to gcc 3.4... good compiler. Nice compiler.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke
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(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21Added LLVM copyright header.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18Interpret the new varargs intrinsics correctlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9222 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17Change FunctionInfo from being an annotation put on Functions to beChris Lattner
something which is mapped from functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8580 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Reorder #includes to follow LLVM conventionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/Brian Gaeke
Build ExecutionEngine as library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8370 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Make getOperandValue and executeCastOperation methods of Interpreter.Brian Gaeke
This lets us protect a few more ExecutionEngine methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8367 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke
Switch Interpreter and JIT's "run" methods to take a Function and a vector of GenericValues. Move (almost all of) the stuff that constructs a canonical call to main() into lli (new methods "callAsMain", "makeStringVector"). Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(), isStopped(), and many dead decls from interpreter. Add linux strdup() support to interpreter. Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look more alike, in preparation for refactoring. atexit() is spelled "atexit", not "at_exit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Remove support for printing values from a module by name, only usedBrian Gaeke
w/ interactive keyboard entry of names. With that, Support.cpp is history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8360 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Remove support for interactive (step finish next) instructions.Brian Gaeke
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8359 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-04Remove support for breakpoints (not used).Brian Gaeke
Remove some dead code and whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8346 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-04Interpreter cleanups:Brian Gaeke
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(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-03ExecutionEngine.cpp: Move execution engine creation stuff into a newBrian Gaeke
static method here. Remove some extra blank lines. ExecutionEngine.h: Add its prototype. lli.cpp: Call it. Make creation method for each type of EE into a static method of its own subclass. Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter --> Interpreter::create Interpreter/Interpreter.h: Likewise. JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create JIT/VM.h: Likewise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24Targets now configure themselves based on the source module, not on theChris Lattner
ad-hoc "Config" flags git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21The JIT now passes the environment pointer to the main() function when itJohn Criswell
starts a program. This allows the GNU env program to compile and JIT under LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13Deconstify parameter to getPointerToFunction().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822 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-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-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
2002-12-23Substantial changes to refactor LLI to incorporate both the Jello JIT andChris Lattner
the traditional LLI interpreter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-07Make command line arguments setup be endian correct!!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-15 - Fix LLI so that it simulates the endianness of the target machineChris Lattner
correctly, despite the fact that the host machine might not be the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4180 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02Cleanup #includes, expose moduleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4021 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25MEGAPATCH checkin.Chris Lattner
For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2778 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07Change references to the Method class to be references to the FunctionChris Lattner
class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-19Keep track of memory allocated by alloca so that it is freed appropriatelyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1776 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12Method.h no longer includes BasicBlock.hChris Lattner
Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20Changes to build successfully with GCC 3.02Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8