diff options
author | Chris Lattner <sabre@nondot.org> | 2003-05-10 20:21:16 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-05-10 20:21:16 +0000 |
commit | bd6771cb25c88bb87a6a28546dee12aa94d22a52 (patch) | |
tree | 60d3668ea79df0eb5f84c6c5b45d2550e9011464 /llvm/lib/ExecutionEngine/Interpreter/Interpreter.h | |
parent | 1bf4750f8d363c03f4c1e0c18581c29a18241c9e (diff) | |
download | bcm5719-llvm-bd6771cb25c88bb87a6a28546dee12aa94d22a52.tar.gz bcm5719-llvm-bd6771cb25c88bb87a6a28546dee12aa94d22a52.zip |
Fix testcase: SingleSource/UnitTests/2003-05-02-DependantPHI.c
llvm-svn: 6074
Diffstat (limited to 'llvm/lib/ExecutionEngine/Interpreter/Interpreter.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/Interpreter/Interpreter.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h index 0b01f8df58e..4d8c44ad760 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h +++ b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h @@ -23,6 +23,7 @@ struct FunctionInfo; // Defined in ExecutionAnnotations.h class CallInst; class ReturnInst; class BranchInst; +class SwitchInst; class LoadInst; class StoreInst; class AllocationInst; @@ -70,7 +71,6 @@ struct ExecutionContext { std::vector<ValuePlaneTy> Values;// ValuePlanes for each type std::vector<GenericValue> VarArgs; // Values passed through an ellipsis - BasicBlock *PrevBB; // The previous BB or null if in first BB CallInst *Caller; // Holds the call that called subframes. // NULL if main func or debugger invoked fn AllocaHolderHandle Allocas; // Track memory allocated by alloca @@ -137,6 +137,7 @@ public: void executeCallInst(CallInst &I, ExecutionContext &SF); void executeRetInst(ReturnInst &I, ExecutionContext &SF); void executeBrInst(BranchInst &I, ExecutionContext &SF); + void executeSwitchInst(SwitchInst &I, ExecutionContext &SF); void executeAllocInst(AllocationInst &I, ExecutionContext &SF); GenericValue callExternalFunction(Function *F, const std::vector<GenericValue> &ArgVals); @@ -161,6 +162,12 @@ public: private: // Helper functions + // SwitchToNewBasicBlock - Start execution in a new basic block and run any + // PHI nodes in the top of the block. This is used for intraprocedural + // control flow. + // + void SwitchToNewBasicBlock(BasicBlock *Dest, ExecutionContext &SF); + void *getPointerToFunction(const Function *F) { return (void*)F; } // getCurrentExecutablePath() - Return the directory that the lli executable |