projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ptr-traits] Sink a constructor definition to the .cpp file and add
[oota-llvm.git]
/
lib
/
CodeGen
/
LiveVariables.cpp
diff --git
a/lib/CodeGen/LiveVariables.cpp
b/lib/CodeGen/LiveVariables.cpp
index 007f4eb1ae376284d04f2561d84098a6737b9bbb..06b86d82daf1fa541ac1df78969d04cda58ba33c 100644
(file)
--- a/
lib/CodeGen/LiveVariables.cpp
+++ b/
lib/CodeGen/LiveVariables.cpp
@@
-522,11
+522,15
@@
void LiveVariables::runOnInstr(MachineInstr *MI,
continue;
unsigned MOReg = MO.getReg();
if (MO.isUse()) {
continue;
unsigned MOReg = MO.getReg();
if (MO.isUse()) {
- MO.setIsKill(false);
+ if (!(TargetRegisterInfo::isPhysicalRegister(MOReg) &&
+ MRI->isReserved(MOReg)))
+ MO.setIsKill(false);
if (MO.readsReg())
UseRegs.push_back(MOReg);
} else /*MO.isDef()*/ {
if (MO.readsReg())
UseRegs.push_back(MOReg);
} else /*MO.isDef()*/ {
- MO.setIsDead(false);
+ if (!(TargetRegisterInfo::isPhysicalRegister(MOReg) &&
+ MRI->isReserved(MOReg)))
+ MO.setIsDead(false);
DefRegs.push_back(MOReg);
}
}
DefRegs.push_back(MOReg);
}
}