diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-11-21 07:49:09 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-11-21 07:49:09 +0000 |
commit | 219ab405e6bea993da14cf3ce7b50983c3bb7a6f (patch) | |
tree | f91d265e59851bb2409eb6784c8a83b1d18b8267 /lib/CodeGen/IntrinsicLowering.cpp | |
parent | 137dccd5d86e0d0741f9560970f9b2952221d37c (diff) | |
download | external_llvm-219ab405e6bea993da14cf3ce7b50983c3bb7a6f.zip external_llvm-219ab405e6bea993da14cf3ce7b50983c3bb7a6f.tar.gz external_llvm-219ab405e6bea993da14cf3ce7b50983c3bb7a6f.tar.bz2 |
Make mem[cpy,move,set] intrinsics overloaded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59802 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IntrinsicLowering.cpp')
-rw-r--r-- | lib/CodeGen/IntrinsicLowering.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index 7c549bc..960d660 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -98,22 +98,19 @@ void IntrinsicLowering::AddPrototypes(Module &M) { EnsureFunctionExists(M, "abort", I->arg_end(), I->arg_end(), Type::VoidTy); break; - case Intrinsic::memcpy_i32: - case Intrinsic::memcpy_i64: + case Intrinsic::memcpy: M.getOrInsertFunction("memcpy", PointerType::getUnqual(Type::Int8Ty), PointerType::getUnqual(Type::Int8Ty), PointerType::getUnqual(Type::Int8Ty), TD.getIntPtrType(), (Type *)0); break; - case Intrinsic::memmove_i32: - case Intrinsic::memmove_i64: + case Intrinsic::memmove: M.getOrInsertFunction("memmove", PointerType::getUnqual(Type::Int8Ty), PointerType::getUnqual(Type::Int8Ty), PointerType::getUnqual(Type::Int8Ty), TD.getIntPtrType(), (Type *)0); break; - case Intrinsic::memset_i32: - case Intrinsic::memset_i64: + case Intrinsic::memset: M.getOrInsertFunction("memset", PointerType::getUnqual(Type::Int8Ty), PointerType::getUnqual(Type::Int8Ty), Type::Int32Ty, @@ -784,8 +781,7 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { case Intrinsic::var_annotation: break; // Strip out annotate intrinsic - case Intrinsic::memcpy_i32: - case Intrinsic::memcpy_i64: { + case Intrinsic::memcpy: { static Constant *MemcpyFCache = 0; Value *Size = CI->getOperand(3); const Type *IntPtr = TD.getIntPtrType(); @@ -803,8 +799,7 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { MemcpyFCache); break; } - case Intrinsic::memmove_i32: - case Intrinsic::memmove_i64: { + case Intrinsic::memmove: { static Constant *MemmoveFCache = 0; Value *Size = CI->getOperand(3); const Type *IntPtr = TD.getIntPtrType(); @@ -822,8 +817,7 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { MemmoveFCache); break; } - case Intrinsic::memset_i32: - case Intrinsic::memset_i64: { + case Intrinsic::memset: { static Constant *MemsetFCache = 0; Value *Size = CI->getOperand(3); const Type *IntPtr = TD.getIntPtrType(); |