[llvm] 448a094 - [Matrix] Add assert to catch extracted vectors with poison elements

Francis Visoiu Mistrih via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 11:17:04 PDT 2022


Author: Francis Visoiu Mistrih
Date: 2022-07-26T11:07:02-07:00
New Revision: 448a094d3e570df8361ce75b53cbcc27933387d2

URL: https://github.com/llvm/llvm-project/commit/448a094d3e570df8361ce75b53cbcc27933387d2
DIFF: https://github.com/llvm/llvm-project/commit/448a094d3e570df8361ce75b53cbcc27933387d2.diff

LOG: [Matrix] Add assert to catch extracted vectors with poison elements

Assert when the extracted vector is wider than the row/column.

Differential Revision: https://reviews.llvm.org/D130173

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
index 73cd92d176ce..f1e1359255bd 100644
--- a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
+++ b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
@@ -338,6 +338,9 @@ class LowerMatrixIntrinsics {
     Value *extractVector(unsigned I, unsigned J, unsigned NumElts,
                          IRBuilder<> &Builder) const {
       Value *Vec = isColumnMajor() ? getColumn(J) : getRow(I);
+      assert(cast<FixedVectorType>(Vec->getType())->getNumElements() >=
+                 NumElts &&
+             "Extracted vector will contain poison values");
       return Builder.CreateShuffleVector(
           Vec, createSequentialMask(isColumnMajor() ? I : J, NumElts, 0),
           "block");


        


More information about the llvm-commits mailing list