diff options
author | Chris Lattner <sabre@nondot.org> | 2002-08-22 22:49:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-08-22 22:49:05 +0000 |
commit | 24ea74eb9a47b81c1557926acd83e0fbe6d7594e (patch) | |
tree | 603050bf899b7d3d180b19871d172daf2614520b /lib/ExecutionEngine | |
parent | 5dfe767b872988c4f54348afd0d284104d5cd0a0 (diff) | |
download | external_llvm-24ea74eb9a47b81c1557926acd83e0fbe6d7594e.zip external_llvm-24ea74eb9a47b81c1557926acd83e0fbe6d7594e.tar.gz external_llvm-24ea74eb9a47b81c1557926acd83e0fbe6d7594e.tar.bz2 |
Load & StoreInst no longer derive from MemAccessInst, so we don't have
to handle indexing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine')
-rw-r--r-- | lib/ExecutionEngine/Interpreter/Execution.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp index 7bf276a..7b5a63e 100644 --- a/lib/ExecutionEngine/Interpreter/Execution.cpp +++ b/lib/ExecutionEngine/Interpreter/Execution.cpp @@ -765,9 +765,9 @@ static void executeFreeInst(FreeInst &I, ExecutionContext &SF) { } -// getElementOffset - The workhorse for getelementptr, load and store. This -// function returns the offset that arguments ArgOff+1 -> NumArgs specify for -// the pointer type specified by argument Arg. +// getElementOffset - The workhorse for getelementptr. This function returns +// the offset that arguments ArgOff+1 -> NumArgs specify for the pointer type +// specified by argument Arg. // static PointerTy getElementOffset(MemAccessInst &I, ExecutionContext &SF) { assert(isa<PointerType>(I.getPointerOperand()->getType()) && @@ -832,11 +832,7 @@ static void executeGEPInst(GetElementPtrInst &I, ExecutionContext &SF) { static void executeLoadInst(LoadInst &I, ExecutionContext &SF) { GenericValue SRC = getOperandValue(I.getPointerOperand(), SF); - PointerTy SrcPtr = SRC.PointerVal; - PointerTy Offset = getElementOffset(I, SF); // Handle any structure indices - SrcPtr += Offset; - - GenericValue *Ptr = (GenericValue*)SrcPtr; + GenericValue *Ptr = (GenericValue*)SRC.PointerVal; GenericValue Result; switch (I.getType()->getPrimitiveID()) { @@ -861,10 +857,7 @@ static void executeLoadInst(LoadInst &I, ExecutionContext &SF) { static void executeStoreInst(StoreInst &I, ExecutionContext &SF) { GenericValue SRC = getOperandValue(I.getPointerOperand(), SF); - PointerTy SrcPtr = SRC.PointerVal; - SrcPtr += getElementOffset(I, SF); // Handle any structure indices - - GenericValue *Ptr = (GenericValue *)SrcPtr; + GenericValue *Ptr = (GenericValue *)SRC.PointerVal; GenericValue Val = getOperandValue(I.getOperand(0), SF); switch (I.getOperand(0)->getType()->getPrimitiveID()) { |