TableGen: Emit LaneMask for register classes without subregisters as ~0u
[oota-llvm.git] / utils / TableGen / CodeGenRegisters.cpp
index c9e6d1d379de95a50921b040337f71efec9e1230..f6eadce9c3d88a199cdc12644ac727ca36c6ab7b 100644 (file)
@@ -1274,6 +1274,12 @@ void CodeGenRegBank::computeSubRegLaneMasks() {
         continue;
       LaneMask |= SubRegIndex.LaneMask;
     }
+
+    // For classes without any subregisters set LaneMask to ~0u instead of 0.
+    // This makes it easier for client code to handle classes uniformly.
+    if (LaneMask == 0)
+      LaneMask = ~0u;
+
     RegClass.LaneMask = LaneMask;
   }
 }