implement CCMatchIfCC in terms of CCMatchIf


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34685 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/TargetCallingConv.td b/lib/Target/TargetCallingConv.td
index 3dcd745..8a619af 100644
--- a/lib/Target/TargetCallingConv.td
+++ b/lib/Target/TargetCallingConv.td
@@ -23,7 +23,8 @@
 
 /// CCMatchType - If the current argument is one of the specified types, apply
 /// Action A.
-class CCMatchType<list<ValueType> VTs, CCAction A> : CCPredicateAction<A> {
+class CCMatchType<list<ValueType> vts, CCAction A> : CCPredicateAction<A> {
+  list<ValueType> VTs = vts;
 }
 
 /// CCMatchIf - If the predicate matches, apply A.
@@ -32,9 +33,8 @@
 }
 
 /// CCMatchIfCC - Match of the current calling convention is 'CC'.
-class CCMatchIfCC<string CC, CCAction A> : CCPredicateAction<A> {
-  string CallingConv = CC;
-}
+class CCMatchIfCC<string CC, CCAction A>
+  : CCMatchIf<!strconcat("State.getCallingConv() == ", CC), 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