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 | f99d54498a1237fd75788cd0a65e826b1b68174b (patch) | |
tree | 80dbac857e038c8eec8822d08d9dbb5f09e82285 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 839679afdacf0159c6c34292cc5b7465f5a65044 (diff) | |
download | bcm5719-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.cpp | 3 |
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; } |