OSDN Git Service
(root)
/
android-x86
/
external-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ed36aac
)
Fix pr7110: For non-Darwin targets UnspilledCS1GPRs may include high registers.
author
Bob Wilson
<bob.wilson@apple.com>
Thu, 13 May 2010 19:58:24 +0000
(19:58 +0000)
committer
Bob Wilson
<bob.wilson@apple.com>
Thu, 13 May 2010 19:58:24 +0000
(19:58 +0000)
Do not use those for Thumb1 functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103730
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Target/ARM/ARMBaseRegisterInfo.cpp
patch
|
blob
|
history
diff --git
a/lib/Target/ARM/ARMBaseRegisterInfo.cpp
b/lib/Target/ARM/ARMBaseRegisterInfo.cpp
index
bf779cc
..
dd62049
100644
(file)
--- a/
lib/Target/ARM/ARMBaseRegisterInfo.cpp
+++ b/
lib/Target/ARM/ARMBaseRegisterInfo.cpp
@@
-779,7
+779,9
@@
ARMBaseRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
while (NumExtras && !UnspilledCS1GPRs.empty()) {
unsigned Reg = UnspilledCS1GPRs.back();
UnspilledCS1GPRs.pop_back();
- if (!isReservedReg(MF, Reg)) {
+ if (!isReservedReg(MF, Reg) &&
+ (!AFI->isThumb1OnlyFunction() || isARMLowRegister(Reg) ||
+ Reg == ARM::LR)) {
Extras.push_back(Reg);
NumExtras--;
}