summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2010-05-31 06:16:35 +0000
committerNick Lewycky <nicholas@mxc.ca>2010-05-31 06:16:35 +0000
commitaee2632be3537cc60ac0b389620456d17a0b3fce (patch)
tree9945ede9a4637a02272056016077963d86787b18 /llvm/lib/Transforms/Utils/BuildLibCalls.cpp
parent4708f5a89ba7adac04d07dad4705eae7fd150762 (diff)
downloadbcm5719-llvm-aee2632be3537cc60ac0b389620456d17a0b3fce.tar.gz
bcm5719-llvm-aee2632be3537cc60ac0b389620456d17a0b3fce.zip
The memcpy intrinsic only takes i8* for %src and %dst, so cast them to that
first. Fixes PR7265. llvm-svn: 105206
Diffstat (limited to 'llvm/lib/Transforms/Utils/BuildLibCalls.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/BuildLibCalls.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
index 767fa3a0a6b..059aeab003f 100644
--- a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
@@ -112,10 +112,10 @@ Value *llvm::EmitStrNCpy(Value *Dst, Value *Src, Value *Len,
Value *llvm::EmitMemCpy(Value *Dst, Value *Src, Value *Len, unsigned Align,
bool isVolatile, IRBuilder<> &B, const TargetData *TD) {
Module *M = B.GetInsertBlock()->getParent()->getParent();
- const Type *ArgTys[3] = { Dst->getType(), Src->getType(), Len->getType() };
- Value *MemCpy = Intrinsic::getDeclaration(M, Intrinsic::memcpy, ArgTys, 3);
Dst = CastToCStr(Dst, B);
Src = CastToCStr(Src, B);
+ const Type *ArgTys[3] = { Dst->getType(), Src->getType(), Len->getType() };
+ Value *MemCpy = Intrinsic::getDeclaration(M, Intrinsic::memcpy, ArgTys, 3);
return B.CreateCall5(MemCpy, Dst, Src, Len,
ConstantInt::get(B.getInt32Ty(), Align),
ConstantInt::get(B.getInt1Ty(), isVolatile));
OpenPOWER on IntegriCloud