Add predicates methods to TargetOperandInfo, and switch all clients

over to using them, instead of diddling Flags directly.  Change the
various flags from const variables to enums.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45677 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2008-01-07 02:39:19 +00:00
parent 572742e876
commit 8ca5c67c6e
6 changed files with 42 additions and 29 deletions
+3 -3
View File
@@ -94,17 +94,17 @@ InstrInfoEmitter::GetOperandInfo(const CodeGenInstruction &Inst) {
// Ptr value whose register class is resolved via callback.
if (OpR->getName() == "ptr_rc")
Res += "|M_LOOK_UP_PTR_REG_CLASS";
Res += "|TOI::LookupPtrRegClass";
// Predicate operands. Check to see if the original unexpanded operand
// was of type PredicateOperand.
if (Inst.OperandList[i].Rec->isSubClassOf("PredicateOperand"))
Res += "|M_PREDICATE_OPERAND";
Res += "|TOI::Predicate";
// Optional def operands. Check to see if the original unexpanded operand
// was of type OptionalDefOperand.
if (Inst.OperandList[i].Rec->isSubClassOf("OptionalDefOperand"))
Res += "|M_OPTIONAL_DEF_OPERAND";
Res += "|TOI::OptionalDef";
// Fill in constraint info.
Res += ", " + Inst.OperandList[i].Constraints[j];