diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-18 00:53:27 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-18 00:53:27 +0000 |
commit | 19d968e62f293e05e3b78beb26fcd11bfbb6b3a7 (patch) | |
tree | 7564a3dd8e2e58c7cd9e4ed7e7675260ff439a06 | |
parent | 35cea3da3562e9eecd36242393d9f8bccbcea13b (diff) | |
download | bcm5719-llvm-19d968e62f293e05e3b78beb26fcd11bfbb6b3a7.tar.gz bcm5719-llvm-19d968e62f293e05e3b78beb26fcd11bfbb6b3a7.zip |
Reserve D16-D13 on subtargets that don't support them.
llvm-svn: 133321
-rw-r--r-- | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp index 2adcd2cdff3..9dc51b810ed 100644 --- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp @@ -100,6 +100,12 @@ getReservedRegs(const MachineFunction &MF) const { // Some targets reserve R9. if (STI.isR9Reserved()) Reserved.set(ARM::R9); + // Reserve D16-D31 if the subtarget doesn't support them. + if (!STI.hasVFP3() || STI.hasD16()) { + assert(ARM::D31 == ARM::D16 + 15); + for (unsigned i = 0; i != 16; ++i) + Reserved.set(ARM::D16 + i); + } return Reserved; } |