@@ -47,7 +47,8 @@ MAP_FN(spirv::StorageClass::StorageBuffer, 0) \
4747 MAP_FN(spirv::StorageClass::HostOnlyINTEL, 23)
4848#endif
4949
50- Optional<spirv::StorageClass> getStorageClassForMemorySpace (unsigned space) {
50+ std::optional<spirv::StorageClass>
51+ getStorageClassForMemorySpace (unsigned space) {
5152#define STORAGE_SPACE_MAP_FN (storage, space ) \
5253 case space: \
5354 return storage;
@@ -63,38 +64,38 @@ Optional<spirv::StorageClass> getStorageClassForMemorySpace(unsigned space) {
6364TritonGPUToSPIRVTypeConverter::TritonGPUToSPIRVTypeConverter (
6465 spirv::TargetEnvAttr &targetAttr, SPIRVConversionOptions &option)
6566 : SPIRVTypeConverter(targetAttr, option) {
66- addConversion ([&](triton::PointerType type) -> llvm::Optional <Type> {
67+ addConversion ([&](triton::PointerType type) -> std::optional <Type> {
6768 return convertTritonPointerType (type);
6869 });
69- addConversion ([&](RankedTensorType type) -> llvm::Optional <Type> {
70+ addConversion ([&](RankedTensorType type) -> std::optional <Type> {
7071 return convertTritonTensorType (type);
7172 });
72- addConversion ([&](mlir::VectorType type) -> llvm::Optional <Type> {
73+ addConversion ([&](mlir::VectorType type) -> std::optional <Type> {
7374 // Recursively translate vector type
7475 return mlir::VectorType::get (type.getShape (),
7576 convertType (type.getElementType ()));
7677 });
7778 // Internally store float8 as int8
78- addConversion ([&](mlir::Float8E4M3FNType type) -> llvm::Optional <Type> {
79+ addConversion ([&](mlir::Float8E4M3FNType type) -> std::optional <Type> {
7980 llvm::report_fatal_error (" SPIRV doesn't support fp8 type" );
8081 return IntegerType::get (type.getContext (), 8 );
8182 });
82- addConversion ([&](mlir::Float8E5M2Type type) -> llvm::Optional <Type> {
83+ addConversion ([&](mlir::Float8E5M2Type type) -> std::optional <Type> {
8384 llvm::report_fatal_error (" SPIRV doesn't support fp8 type" );
8485 return IntegerType::get (type.getContext (), 8 );
8586 });
8687 // Internally store bfloat16 as int16
87- addConversion ([&](BFloat16Type type) -> llvm::Optional <Type> {
88+ addConversion ([&](BFloat16Type type) -> std::optional <Type> {
8889 return IntegerType::get (type.getContext (), 16 );
8990 });
9091 addConversion (
91- [&](IndexType type) -> llvm::Optional <Type> { return getIndexType (); });
92+ [&](IndexType type) -> std::optional <Type> { return getIndexType (); });
9293
9394 // Add generic source and target materializations to handle cases where
9495 // non-SPIRV types persist after an SPIRV conversion.
9596 addSourceMaterialization ([&](OpBuilder &builder, Type resultType,
9697 ValueRange inputs,
97- Location loc) -> Optional <Value> {
98+ Location loc) -> std::optional <Value> {
9899 if (inputs.size () != 1 )
99100 return std::nullopt ;
100101
@@ -103,7 +104,7 @@ TritonGPUToSPIRVTypeConverter::TritonGPUToSPIRVTypeConverter(
103104 });
104105 addTargetMaterialization ([&](OpBuilder &builder, Type resultType,
105106 ValueRange inputs,
106- Location loc) -> Optional <Value> {
107+ Location loc) -> std::optional <Value> {
107108 if (inputs.size () != 1 )
108109 return std::nullopt ;
109110
@@ -115,7 +116,7 @@ TritonGPUToSPIRVTypeConverter::TritonGPUToSPIRVTypeConverter(
115116Type TritonGPUToSPIRVTypeConverter::convertTritonPointerType (
116117 triton::PointerType type) {
117118 // Recursively translate pointee type
118- Optional <spirv::StorageClass> storageClass =
119+ std::optional <spirv::StorageClass> storageClass =
119120 getStorageClassForMemorySpace (type.getAddressSpace ());
120121 assert (storageClass && " uncompatible pointer address type in SPIRV" );
121122 return spirv::PointerType::get (convertType (type.getPointeeType ()),
0 commit comments