rename some CCActions, add CCIfInReg

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34725 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-02-28 05:29:33 +00:00
parent e3bab80e33
commit 62247f62ce

View File

@ -21,20 +21,25 @@ class CCPredicateAction<CCAction A> : CCAction {
CCAction SubAction = A;
}
/// CCMatchType - If the current argument is one of the specified types, apply
/// CCIfType - If the current argument is one of the specified types, apply
/// Action A.
class CCMatchType<list<ValueType> vts, CCAction A> : CCPredicateAction<A> {
class CCIfType<list<ValueType> vts, CCAction A> : CCPredicateAction<A> {
list<ValueType> VTs = vts;
}
/// CCMatchIf - If the predicate matches, apply A.
class CCMatchIf<string predicate, CCAction A> : CCPredicateAction<A> {
/// CCIf - If the predicate matches, apply A.
class CCIf<string predicate, CCAction A> : CCPredicateAction<A> {
string Predicate = predicate;
}
/// CCMatchIfCC - Match of the current calling convention is 'CC'.
class CCMatchIfCC<string CC, CCAction A>
: CCMatchIf<!strconcat("State.getCallingConv() == ", CC), A> {}
/// CCIfCC - Match of the current calling convention is 'CC'.
class CCIfCC<string CC, CCAction A>
: CCIf<!strconcat("State.getCallingConv() == ", CC), A> {}
/// CCIfInReg - If this argument is marked with the 'inreg' attribute, apply
/// the specified action.
class CCIfInReg<CCAction A> : CCIf<"ArgFlags & 2", A> {}
/// CCAssignToReg - This action matches if there is a register in the specified
/// list that is still available. If so, it assigns the value to the first