Use isConcrete and getConcrete instead of using TypeVec directly.
authorCraig Topper <craig.topper@gmail.com>
Sat, 25 Jan 2014 05:33:48 +0000 (05:33 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 25 Jan 2014 05:33:48 +0000 (05:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200071 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/CodeGenDAGPatterns.cpp

index 3f165b51d4cbb0ddcbe65f8a0f0e0b0cebd6d3ae..fe2ac1d21bc0a29ee222b49086ad99cac51a4c76 100644 (file)
@@ -374,7 +374,7 @@ bool EEVT::TypeSet::EnforceSmallerThan(EEVT::TypeSet &Other, TreePattern &TP) {
   if (!Other.hasVectorTypes())
     MadeChange |= EnforceScalar(TP);
 
-  if (TypeVec.size() == 1 && Other.TypeVec.size() == 1) {
+  if (isConcrete() && Other.isConcrete()) {
     // If we are down to concrete types, this code does not currently
     // handle nodes which have multiple types, where some types are
     // integer, and some are fp.  Assert that this is not the case.
@@ -385,8 +385,8 @@ bool EEVT::TypeSet::EnforceSmallerThan(EEVT::TypeSet &Other, TreePattern &TP) {
     // Otherwise, if these are both vector types, either this vector
     // must have a larger bitsize than the other, or this element type
     // must be larger than the other.
-    MVT Type(TypeVec[0]);
-    MVT OtherType(Other.TypeVec[0]);
+    MVT Type(getConcrete());
+    MVT OtherType(Other.getConcrete());
 
     if (hasVectorTypes() && Other.hasVectorTypes()) {
       if (Type.getSizeInBits() >= OtherType.getSizeInBits())