Make PPCInstrInfo::isPredicated always return false

Because of how predication in implemented on PPC (only for branches), I think
that this is the right thing to do.  No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179252 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hal Finkel 2013-04-11 01:23:34 +00:00
parent aa3a85e2fa
commit 4b04029481

View File

@ -900,22 +900,14 @@ bool PPCInstrInfo::isProfitableToIfCvt(MachineBasicBlock &TMBB,
bool PPCInstrInfo::isPredicated(const MachineInstr *MI) const { bool PPCInstrInfo::isPredicated(const MachineInstr *MI) const {
unsigned OpC = MI->getOpcode(); // The predicated branches are identified by their type, not really by the
switch (OpC) { // explicit presence of a predicate. Furthermore, some of them can be
default: // predicated more than once. Because if conversion won't try to predicate
return false; // any instruction which already claims to be predicated (by returning true
case PPC::BCC: // here), always return false. In doing so, we let isPredicable() be the
case PPC::BCCTR: // final word on whether not the instruction can be (further) predicated.
case PPC::BCCTR8:
case PPC::BCCTRL: return false;
case PPC::BCCTRL8:
case PPC::BCLR:
case PPC::BDZLR:
case PPC::BDZLR8:
case PPC::BDNZLR:
case PPC::BDNZLR8:
return true;
}
} }
bool PPCInstrInfo::isUnpredicatedTerminator(const MachineInstr *MI) const { bool PPCInstrInfo::isUnpredicatedTerminator(const MachineInstr *MI) const {