[Mlir-commits] [mlir] 81dd3a4 - [mlir][spirv] Fix coop matrix getExtension
Thomas Raoux
llvmlistbot at llvm.org
Tue Jun 2 16:33:31 PDT 2020
Author: Thomas Raoux
Date: 2020-06-02T16:32:31-07:00
New Revision: 81dd3a47189ec2e2c83d5948748dcfadb9463923
URL: https://github.com/llvm/llvm-project/commit/81dd3a47189ec2e2c83d5948748dcfadb9463923
DIFF: https://github.com/llvm/llvm-project/commit/81dd3a47189ec2e2c83d5948748dcfadb9463923.diff
LOG: [mlir][spirv] Fix coop matrix getExtension
Stack variable was being used beyond its lifetime.
Differential Revision: https://reviews.llvm.org/D80948
Added:
Modified:
mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp b/mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
index 4ba17f3a1240..0226f5117540 100644
--- a/mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
+++ b/mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
@@ -335,14 +335,18 @@ void CooperativeMatrixNVType::getExtensions(
SPIRVType::ExtensionArrayRefVector &extensions,
Optional<StorageClass> storage) {
getElementType().cast<SPIRVType>().getExtensions(extensions, storage);
- extensions.push_back(Extension::SPV_NV_cooperative_matrix);
+ static const Extension exts[] = {Extension::SPV_NV_cooperative_matrix};
+ ArrayRef<Extension> ref(exts, llvm::array_lengthof(exts));
+ extensions.push_back(ref);
}
void CooperativeMatrixNVType::getCapabilities(
SPIRVType::CapabilityArrayRefVector &capabilities,
Optional<StorageClass> storage) {
getElementType().cast<SPIRVType>().getCapabilities(capabilities, storage);
- capabilities.push_back(Capability::CooperativeMatrixNV);
+ static const Capability caps[] = {Capability::CooperativeMatrixNV};
+ ArrayRef<Capability> ref(caps, llvm::array_lengthof(caps));
+ capabilities.push_back(ref);
}
//===----------------------------------------------------------------------===//
More information about the Mlir-commits
mailing list