diff --git a/build_tools/llvm_version.txt b/build_tools/llvm_version.txt index cba1d42e0..3eba2629b 100644 --- a/build_tools/llvm_version.txt +++ b/build_tools/llvm_version.txt @@ -1 +1 @@ -d20190e68413634b87f0f9426312a0e9d8456d18 +49af6502c6dcb4a7f7520178bd14df396f78240c diff --git a/build_tools/patches/0001-Add-support-for-VectorAnyINTEL-capability.patch b/build_tools/patches/0001-Add-support-for-VectorAnyINTEL-capability.patch index c96043271..d1ef51362 100644 --- a/build_tools/patches/0001-Add-support-for-VectorAnyINTEL-capability.patch +++ b/build_tools/patches/0001-Add-support-for-VectorAnyINTEL-capability.patch @@ -72,10 +72,10 @@ index 1e61aa747967..6f0f728f811e 100644 class SPIRV_MatrixOrCoopMatrixOf : diff --git a/mlir/include/mlir/IR/CommonTypeConstraints.td b/mlir/include/mlir/IR/CommonTypeConstraints.td -index 4fc14e30b8a1..74739ecccd0d 100644 +index b0b5348baaad..2c569a651f8b 100644 --- a/mlir/include/mlir/IR/CommonTypeConstraints.td +++ b/mlir/include/mlir/IR/CommonTypeConstraints.td -@@ -546,6 +546,92 @@ class ScalableVectorOfRankAndLengthAndType allowedRanks, +@@ -604,6 +604,92 @@ class ScalableVectorOfRankAndLengthAndType allowedRanks, ScalableVectorOfLength.summary, "::mlir::VectorType">; @@ -104,7 +104,7 @@ index 4fc14e30b8a1..74739ecccd0d 100644 +// Whether the number of elements of a scalable vector is from the given +// `allowedRanges` list, the list has two values, start and end of the range (inclusive) +class IsScalableVectorOfLengthRangePred allowedRanges> : -+ And<[IsScalableVectorTypePred, ++ And<[IsVectorTypeWithAnyDimScalablePred, + And<[CPred<[{$_self.cast<::mlir::VectorType>().getNumElements() + >= }] + # allowedRanges[0]>, @@ -165,9 +165,9 @@ index 4fc14e30b8a1..74739ecccd0d 100644 + ScalableVectorOfLengthRange.summary, + "::mlir::VectorType">; + - def AnyVector : VectorOf<[AnyType]>; - // Temporary vector type clone that allows gradual transition to 0-D vectors. - def AnyVectorOfAnyRank : VectorOfAnyRankOf<[AnyType]>; + // Any ShapedType where the size of the n-th dim is contained in `allowedSizes`. + // Negative values for `n` index in reverse. + class ShapedTypeWithNthDimOfSize allowedSizes> : Type< diff --git a/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp b/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp index 124d4ed6e8e6..9188f8b699b4 100644 --- a/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp