diff options
| author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-03 13:00:11 +0000 |
|---|---|---|
| committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-03 13:00:11 +0000 |
| commit | c10f98ace386895ed79b7634e4616ce71381fe52 (patch) | |
| tree | cb0f4dc9b721c60cd23d64f50541c76f17701e9d /llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp | |
| parent | 7bfc3ea2ee10f459470242372fc5b82b490bd672 (diff) | |
| download | bcm5719-llvm-c10f98ace386895ed79b7634e4616ce71381fe52.tar.gz bcm5719-llvm-c10f98ace386895ed79b7634e4616ce71381fe52.zip | |
Provide set of reserved registers
llvm-svn: 70704
Diffstat (limited to 'llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp b/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp index 1b9fc67db6d..f86f120d2b6 100644 --- a/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp +++ b/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp @@ -38,7 +38,19 @@ MSP430RegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const { BitVector MSP430RegisterInfo::getReservedRegs(const MachineFunction &MF) const { - assert(0 && "Not implemented yet!"); + BitVector Reserved(getNumRegs()); + + // Mark 4 special registers as reserved. + Reserved.set(MSP430::PC); + Reserved.set(MSP430::SP); + Reserved.set(MSP430::SR); + Reserved.set(MSP430::CG); + + // Mark frame pointer as reserved if needed. + if (hasFP(MF)) + Reserved.set(MSP430::FP); + + return Reserved; } bool MSP430RegisterInfo::hasFP(const MachineFunction &MF) const { |

