projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SystemZ] Add test missing from r186148
[oota-llvm.git]
/
lib
/
CodeGen
/
CriticalAntiDepBreaker.cpp
diff --git
a/lib/CodeGen/CriticalAntiDepBreaker.cpp
b/lib/CodeGen/CriticalAntiDepBreaker.cpp
index 0eb74a40d5894ae3cf72e00da7155a7fbb19d82a..18c8e0ae125096a58569b7896fc2affc581772ee 100644
(file)
--- a/
lib/CodeGen/CriticalAntiDepBreaker.cpp
+++ b/
lib/CodeGen/CriticalAntiDepBreaker.cpp
@@
-201,8
+201,8
@@
void CriticalAntiDepBreaker::PrescanInstruction(MachineInstr *MI) {
if (MO.isUse() && Special) {
if (!KeepRegs.test(Reg)) {
if (MO.isUse() && Special) {
if (!KeepRegs.test(Reg)) {
-
KeepRegs.set(Reg
);
-
for (MCSubRegIterator SubRegs(Reg, TRI);
SubRegs.isValid(); ++SubRegs)
+
for (MCSubRegIterator SubRegs(Reg, TRI, /*IncludeSelf=*/true
);
+
SubRegs.isValid(); ++SubRegs)
KeepRegs.set(*SubRegs);
}
}
KeepRegs.set(*SubRegs);
}
}
@@
-361,7
+361,7
@@
findSuitableFreeRegister(RegRefIter RegRefBegin,
unsigned AntiDepReg,
unsigned LastNewReg,
const TargetRegisterClass *RC,
unsigned AntiDepReg,
unsigned LastNewReg,
const TargetRegisterClass *RC,
- SmallVector
<unsigned, 2
> &Forbid)
+ SmallVector
Impl<unsigned
> &Forbid)
{
ArrayRef<MCPhysReg> Order = RegClassInfo.getOrder(RC);
for (unsigned i = 0; i != Order.size(); ++i) {
{
ArrayRef<MCPhysReg> Order = RegClassInfo.getOrder(RC);
for (unsigned i = 0; i != Order.size(); ++i) {
@@
-388,7
+388,7
@@
findSuitableFreeRegister(RegRefIter RegRefBegin,
continue;
// If NewReg overlaps any of the forbidden registers, we can't use it.
bool Forbidden = false;
continue;
// If NewReg overlaps any of the forbidden registers, we can't use it.
bool Forbidden = false;
- for (SmallVector
<unsigned, 2
>::iterator it = Forbid.begin(),
+ for (SmallVector
Impl<unsigned
>::iterator it = Forbid.begin(),
ite = Forbid.end(); it != ite; ++it)
if (TRI->regsOverlap(NewReg, *it)) {
Forbidden = true;
ite = Forbid.end(); it != ite; ++it)
if (TRI->regsOverlap(NewReg, *it)) {
Forbidden = true;