Add a couple of target hooks for predication.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37306 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2007-05-23 07:19:12 +00:00
parent f711fb7af8
commit 4f85cd7704

View File

@ -393,10 +393,23 @@ public:
abort();
}
/// isPredicable - Returns true if the instruction is already predicated.
///
virtual bool isPredicated(MachineInstr *MI) const {
return false;
}
/// PredicateInstruction - Convert the instruction into a predicated
/// instruction. It returns true if the operation was successful.
virtual bool PredicateInstruction(MachineInstr *MI,
std::vector<MachineOperand> &Cond) const;
std::vector<MachineOperand> &Pred) const;
/// SubsumesPredicate - Returns true if the first specified predicated
/// subsumes the second, e.g. GE subsumes GT.
virtual bool SubsumesPredicate(std::vector<MachineOperand> &Pred1,
std::vector<MachineOperand> &Pred2) const {
return false;
}
/// getPointerRegClass - Returns a TargetRegisterClass used for pointer
/// values.