OSDN Git Service

[X86] isTargetShuffleEquivalent - assert the expected mask is correctly formed. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Jul 2019 14:29:14 +0000 (14:29 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 15 Jul 2019 14:29:14 +0000 (14:29 +0000)
While we don't make any assumptions about the actual mask, assert that the expected mask only contains valid mask element values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366066 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 8be441f..c5bf3dc 100644 (file)
@@ -10001,6 +10001,8 @@ static bool isTargetShuffleEquivalent(ArrayRef<int> Mask,
   int Size = Mask.size();
   if (Size != (int)ExpectedMask.size())
     return false;
+  assert(isUndefOrZeroOrInRange(ExpectedMask, 0, 2 * Size) &&
+         "Illegal target shuffle mask");
 
   for (int i = 0; i < Size; ++i)
     if (Mask[i] == SM_SentinelUndef)