diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-11-19 09:02:07 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2008-11-19 09:02:07 +0000 |
commit | 8fbc1540966901a0b2b033c92f4c4257c08621f8 (patch) | |
tree | d052a40ce837c199c72c8f5ee78edccddbc8ee89 /lib/CodeGen/CodeGenModule.cpp | |
parent | f0895515427f658838ddc65a60de8cc30301b51a (diff) |
Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59613 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | lib/CodeGen/CodeGenModule.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index dd46f91d74..7ea52deb2a 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -760,6 +760,7 @@ llvm::Function *CodeGenModule::getMemCpyFn() { llvm::Intrinsic::ID IID; switch (Context.Target.getPointerWidth(0)) { default: assert(0 && "Unknown ptr width"); + case 16: IID = llvm::Intrinsic::memcpy_i16; break; case 32: IID = llvm::Intrinsic::memcpy_i32; break; case 64: IID = llvm::Intrinsic::memcpy_i64; break; } @@ -771,6 +772,7 @@ llvm::Function *CodeGenModule::getMemMoveFn() { llvm::Intrinsic::ID IID; switch (Context.Target.getPointerWidth(0)) { default: assert(0 && "Unknown ptr width"); + case 16: IID = llvm::Intrinsic::memmove_i16; break; case 32: IID = llvm::Intrinsic::memmove_i32; break; case 64: IID = llvm::Intrinsic::memmove_i64; break; } @@ -782,6 +784,7 @@ llvm::Function *CodeGenModule::getMemSetFn() { llvm::Intrinsic::ID IID; switch (Context.Target.getPointerWidth(0)) { default: assert(0 && "Unknown ptr width"); + case 16: IID = llvm::Intrinsic::memset_i16; break; case 32: IID = llvm::Intrinsic::memset_i32; break; case 64: IID = llvm::Intrinsic::memset_i64; break; } |