From 415c1f7438619434d74b76223674228779930ae3 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Tue, 6 Mar 2007 05:03:16 +0000 Subject: [PATCH] 1. Make StoreValueToMemory a little more efficient by not requiring caller to make a copy of the GenericValue. 2. Fix a copy & paste bug in StoreValueToMemory where 64-bit values were truncated to 32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34958 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/ExecutionEngine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 7a0bc23f32d..981ef107a5e 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -410,7 +410,7 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) { /// It is not a pointer to a GenericValue containing the address at which to /// store Val. /// -void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr, +void ExecutionEngine::StoreValueToMemory(const GenericValue &Val, GenericValue *Ptr, const Type *Ty) { switch (Ty->getTypeID()) { case Type::IntegerTyID: { @@ -423,7 +423,7 @@ void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr, } else if (BitWidth <= 32) { *((uint32_t*)Ptr) = uint32_t(Val.IntVal.getZExtValue()); } else if (BitWidth <= 64) { - *((uint64_t*)Ptr) = uint32_t(Val.IntVal.getZExtValue()); + *((uint64_t*)Ptr) = uint64_t(Val.IntVal.getZExtValue()); } else { uint64_t *Dest = (uint64_t*)Ptr; const uint64_t *Src = Val.IntVal.getRawData(); -- 2.34.1