mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
MachineInstr::isPredicable() is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37599 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -447,7 +447,7 @@ void IfConverter::ScanInstructions(BBInfo &BBI) {
|
|||||||
if (TID->Flags & M_CLOBBERS_PRED)
|
if (TID->Flags & M_CLOBBERS_PRED)
|
||||||
BBI.ClobbersPred = true;
|
BBI.ClobbersPred = true;
|
||||||
|
|
||||||
if (!I->isPredicable()) {
|
if ((TID->Flags & M_PREDICABLE) == 0) {
|
||||||
BBI.IsUnpredicable = true;
|
BBI.IsUnpredicable = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -881,7 +881,8 @@ bool IfConverter::IfConvertDiamond(BBInfo &BBI) {
|
|||||||
while (TT != BBI.TrueBB->end() && FT != BBI.FalseBB->end()) {
|
while (TT != BBI.TrueBB->end() && FT != BBI.FalseBB->end()) {
|
||||||
if (TT->isIdenticalTo(FT))
|
if (TT->isIdenticalTo(FT))
|
||||||
Dups.push_back(TT); // Will erase these later.
|
Dups.push_back(TT); // Will erase these later.
|
||||||
else if (!TT->isPredicable() && !FT->isPredicable())
|
else if ((TT->getInstrDescriptor()->Flags & M_PREDICABLE) == 0 ||
|
||||||
|
(FT->getInstrDescriptor()->Flags & M_PREDICABLE) == 0)
|
||||||
return false; // Can't if-convert. Abort!
|
return false; // Can't if-convert. Abort!
|
||||||
++TT;
|
++TT;
|
||||||
++FT;
|
++FT;
|
||||||
@@ -890,15 +891,13 @@ bool IfConverter::IfConvertDiamond(BBInfo &BBI) {
|
|||||||
// One of the two pathes have more terminators, make sure they are
|
// One of the two pathes have more terminators, make sure they are
|
||||||
// all predicable.
|
// all predicable.
|
||||||
while (TT != BBI.TrueBB->end()) {
|
while (TT != BBI.TrueBB->end()) {
|
||||||
if (!TT->isPredicable()) {
|
if ((TT->getInstrDescriptor()->Flags & M_PREDICABLE) == 0)
|
||||||
return false; // Can't if-convert. Abort!
|
return false; // Can't if-convert. Abort!
|
||||||
}
|
|
||||||
++TT;
|
++TT;
|
||||||
}
|
}
|
||||||
while (FT != BBI.FalseBB->end()) {
|
while (FT != BBI.FalseBB->end()) {
|
||||||
if (!FT->isPredicable()) {
|
if ((FT->getInstrDescriptor()->Flags & M_PREDICABLE) == 0)
|
||||||
return false; // Can't if-convert. Abort!
|
return false; // Can't if-convert. Abort!
|
||||||
}
|
|
||||||
++FT;
|
++FT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -184,10 +184,6 @@ bool MachineOperand::isIdenticalTo(const MachineOperand &Other) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MachineInstr::isPredicable() const {
|
|
||||||
return TID->Flags & M_PREDICABLE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// findRegisterUseOperandIdx() - Returns the MachineOperand that is a use of
|
/// findRegisterUseOperandIdx() - Returns the MachineOperand that is a use of
|
||||||
/// the specific register or -1 if it is not found. It further tightening
|
/// the specific register or -1 if it is not found. It further tightening
|
||||||
/// the search criteria to a use that kills the register if isKill is true.
|
/// the search criteria to a use that kills the register if isKill is true.
|
||||||
|
Reference in New Issue
Block a user