Do away with ImmutablePredicateOperand.

llvm-svn: 37959
This commit is contained in:
Evan Cheng 2007-07-06 23:21:02 +00:00
parent c0daf5fe53
commit b039c60889
1 changed files with 1 additions and 8 deletions

View File

@ -263,20 +263,13 @@ def zero_reg;
/// PredicateOperand - This can be used to define a predicate operand for an /// PredicateOperand - This can be used to define a predicate operand for an
/// instruction. OpTypes specifies the MIOperandInfo for the operand, and /// instruction. OpTypes specifies the MIOperandInfo for the operand, and
/// AlwaysVal specifies the value of this predicate when set to "always /// AlwaysVal specifies the value of this predicate when set to "always
/// execute". If isImmutable is true, then the operand should not change /// execute".
/// after instruction selection.
class PredicateOperand<ValueType ty, dag OpTypes, dag AlwaysVal> class PredicateOperand<ValueType ty, dag OpTypes, dag AlwaysVal>
: Operand<ty> { : Operand<ty> {
let MIOperandInfo = OpTypes; let MIOperandInfo = OpTypes;
bit isImmutable = 0;
dag DefaultOps = AlwaysVal; dag DefaultOps = AlwaysVal;
} }
class ImmutablePredicateOperand<ValueType ty, dag OpTypes, dag AlwaysVal>
: PredicateOperand<ty, OpTypes, AlwaysVal> {
let isImmutable = 1;
}
/// OptionalDefOperand - This is used to define a optional definition operand /// OptionalDefOperand - This is used to define a optional definition operand
/// for an instruction. DefaultOps is the register the operand represents if none /// for an instruction. DefaultOps is the register the operand represents if none
/// is supplied, e.g. zero_reg. /// is supplied, e.g. zero_reg.