projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Simplify the Mangler interface now that DataLayout is mandatory.
[oota-llvm.git]
/
lib
/
CodeGen
/
LivePhysRegs.cpp
diff --git
a/lib/CodeGen/LivePhysRegs.cpp
b/lib/CodeGen/LivePhysRegs.cpp
index b6369275051faed35ccb43b0349bfa62615ff1e3..eef7643367fb672af63538cec3a6759f7659cc03 100644
(file)
--- a/
lib/CodeGen/LivePhysRegs.cpp
+++ b/
lib/CodeGen/LivePhysRegs.cpp
@@
-77,8
+77,9
@@
void LivePhysRegs::stepForward(const MachineInstr &MI,
if (Reg == 0)
continue;
if (O->isDef()) {
if (Reg == 0)
continue;
if (O->isDef()) {
- if (!O->isDead())
- Clobbers.push_back(std::make_pair(Reg, &*O));
+ // Note, dead defs are still recorded. The caller should decide how to
+ // handle them.
+ Clobbers.push_back(std::make_pair(Reg, &*O));
} else {
if (!O->isKill())
continue;
} else {
if (!O->isKill())
continue;
@@
-90,8
+91,12
@@
void LivePhysRegs::stepForward(const MachineInstr &MI,
}
// Add defs to the set.
}
// Add defs to the set.
- for (auto Reg : Clobbers)
+ for (auto Reg : Clobbers) {
+ // Skip dead defs. They shouldn't be added to the set.
+ if (Reg.second->isReg() && Reg.second->isDead())
+ continue;
addReg(Reg.first);
addReg(Reg.first);
+ }
}
/// Prin the currently live registers to OS.
}
/// Prin the currently live registers to OS.