summaryrefslogtreecommitdiff
path: root/lib/Target/PIC16/PIC16InstrInfo.cpp
diff options
context:
space:
mode:
authorSanjiv Gupta <sanjiv.gupta@microchip.com>2009-05-06 08:02:01 +0000
committerSanjiv Gupta <sanjiv.gupta@microchip.com>2009-05-06 08:02:01 +0000
commitd8d27f4a4b9461aee581217691d896d4eba985fa (patch)
tree916a5fc438149ce87d232613666195a754daa281 /lib/Target/PIC16/PIC16InstrInfo.cpp
parent7af1c78b98d2df7d0ab9154461ca3d835706716e (diff)
downloadllvm-d8d27f4a4b9461aee581217691d896d4eba985fa.tar.gz
llvm-d8d27f4a4b9461aee581217691d896d4eba985fa.tar.bz2
llvm-d8d27f4a4b9461aee581217691d896d4eba985fa.tar.xz
Emit banksel and movlp instructions.
Split large global data (both initialized and un-initialized) into multiple sections of <= 80 bytes. Provide routines to manage PIC16 ABI naming conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71073 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16/PIC16InstrInfo.cpp')
-rw-r--r--lib/Target/PIC16/PIC16InstrInfo.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/PIC16/PIC16InstrInfo.cpp b/lib/Target/PIC16/PIC16InstrInfo.cpp
index 8d8a019954..9185437edb 100644
--- a/lib/Target/PIC16/PIC16InstrInfo.cpp
+++ b/lib/Target/PIC16/PIC16InstrInfo.cpp
@@ -76,8 +76,8 @@ void PIC16InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
const Function *Func = MBB.getParent()->getFunction();
const std::string FuncName = Func->getName();
- char *tmpName = new char [strlen(FuncName.c_str()) + 6];
- sprintf(tmpName, "%s.tmp", FuncName.c_str());
+ char *tmpName = new char [strlen(FuncName.c_str()) + 10];
+ sprintf(tmpName, "%s.temp.", FuncName.c_str());
// On the order of operands here: think "movwf SrcReg, tmp_slot, offset".
if (RC == PIC16::GPRRegisterClass) {
@@ -119,8 +119,8 @@ void PIC16InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
const Function *Func = MBB.getParent()->getFunction();
const std::string FuncName = Func->getName();
- char *tmpName = new char [strlen(FuncName.c_str()) + 6];
- sprintf(tmpName, "%s.tmp", FuncName.c_str());
+ char *tmpName = new char [strlen(FuncName.c_str()) + 10];
+ sprintf(tmpName, "%s.temp.", FuncName.c_str());
// On the order of operands here: think "movf FrameIndex, W".
if (RC == PIC16::GPRRegisterClass) {