summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorSanjiv Gupta <sanjiv.gupta@microchip.com>2008-11-19 09:02:07 +0000
committerSanjiv Gupta <sanjiv.gupta@microchip.com>2008-11-19 09:02:07 +0000
commitf99d54498a1237fd75788cd0a65e826b1b68174b (patch)
tree80dbac857e038c8eec8822d08d9dbb5f09e82285 /clang/lib/CodeGen/CodeGenModule.cpp
parent839679afdacf0159c6c34292cc5b7465f5a65044 (diff)
downloadbcm5719-llvm-f99d54498a1237fd75788cd0a65e826b1b68174b.tar.gz
bcm5719-llvm-f99d54498a1237fd75788cd0a65e826b1b68174b.zip
Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accordingly.
llvm-svn: 59613
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index dd46f91d743..7ea52deb2ad 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/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;
}
OpenPOWER on IntegriCloud