/home/arjun/llvm-project/mlir/include/mlir/IR/StorageUniquerSupport.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- StorageUniquerSupport.h - MLIR Storage Uniquer Utilities -*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | // |
9 | | // This file defines utility classes for interfacing with StorageUniquer. |
10 | | // |
11 | | //===----------------------------------------------------------------------===// |
12 | | |
13 | | #ifndef MLIR_IR_STORAGEUNIQUERSUPPORT_H |
14 | | #define MLIR_IR_STORAGEUNIQUERSUPPORT_H |
15 | | |
16 | | #include "mlir/Support/LogicalResult.h" |
17 | | #include "mlir/Support/StorageUniquer.h" |
18 | | #include "mlir/Support/TypeID.h" |
19 | | |
20 | | namespace mlir { |
21 | | class AttributeStorage; |
22 | | class MLIRContext; |
23 | | |
24 | | namespace detail { |
25 | | /// Utility method to generate a raw default location for use when checking the |
26 | | /// construction invariants of a storage object. This is defined out-of-line to |
27 | | /// avoid the need to include Location.h. |
28 | | const AttributeStorage *generateUnknownStorageLocation(MLIRContext *ctx); |
29 | | |
30 | | /// Utility class for implementing users of storage classes uniqued by a |
31 | | /// StorageUniquer. Clients are not expected to interact with this class |
32 | | /// directly. |
33 | | template <typename ConcreteT, typename BaseT, typename StorageT, |
34 | | typename UniquerT> |
35 | | class StorageUserBase : public BaseT { |
36 | | public: |
37 | | using BaseT::BaseT; |
38 | | |
39 | | /// Utility declarations for the concrete attribute class. |
40 | | using Base = StorageUserBase<ConcreteT, BaseT, StorageT, UniquerT>; |
41 | | using ImplType = StorageT; |
42 | | |
43 | | /// Return a unique identifier for the concrete type. |
44 | 0 | static TypeID getTypeID() { return TypeID::get<ConcreteT>(); } Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13AffineMapAttrENS_9AttributeENS0_25AffineMapAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9ArrayAttrENS_9AttributeENS0_21ArrayAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14DictionaryAttrENS_9AttributeENS0_26DictionaryAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerAttrENS_9AttributeENS0_23IntegerAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14IntegerSetAttrENS_9AttributeENS0_26IntegerSetAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueAttrENS_9AttributeENS0_22OpaqueAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10StringAttrENS_9AttributeENS0_22StringAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8TypeAttrENS_9AttributeENS0_20TypeAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_23DenseStringElementsAttrENS_17DenseElementsAttrENS0_35DenseStringElementsAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_24DenseIntOrFPElementsAttrENS_17DenseElementsAttrENS0_36DenseIntOrFPElementsAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18OpaqueElementsAttrENS_12ElementsAttrENS0_30OpaqueElementsAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18SparseElementsAttrENS_12ElementsAttrENS0_30SparseElementsAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11CallSiteLocENS_12LocationAttrENS0_23CallSiteLocationStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14FileLineColLocENS_12LocationAttrENS0_26FileLineColLocationStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8FusedLocENS_12LocationAttrENS0_20FusedLocationStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_7NameLocENS_12LocationAttrENS0_19NameLocationStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9OpaqueLocENS_12LocationAttrENS0_21OpaqueLocationStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8BoolAttrENS_9AttributeENS0_20BoolAttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8UnitAttrENS_9AttributeENS_16AttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10UnknownLocENS_12LocationAttrENS_16AttributeStorageENS0_16AttributeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11ComplexTypeENS_4TypeENS0_18ComplexTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_12FunctionTypeENS_4TypeENS0_19FunctionTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9IndexTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerTypeENS_4TypeENS0_18IntegerTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10MemRefTypeENS_14BaseMemRefTypeENS0_17MemRefTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedMemRefTypeENS_14BaseMemRefTypeENS0_25UnrankedMemRefTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8NoneTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueTypeENS_4TypeENS0_17OpaqueTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_16RankedTensorTypeENS_10TensorTypeENS0_23RankedTensorTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9TupleTypeENS_4TypeENS0_16TupleTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedTensorTypeENS_10TensorTypeENS0_25UnrankedTensorTypeStorageENS0_11TypeUniquerEE9getTypeIDEv Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10VectorTypeENS_10ShapedTypeENS0_17VectorTypeStorageENS0_11TypeUniquerEE9getTypeIDEv |
45 | | |
46 | | /// Provide a default implementation of 'classof' that invokes a 'kindof' |
47 | | /// method on the concrete type. |
48 | 0 | template <typename T> static bool classof(T val) { |
49 | 0 | static_assert(std::is_convertible<ConcreteT, T>::value, |
50 | 0 | "casting from a non-convertible type"); |
51 | 0 | return ConcreteT::kindof(val.getKind()); |
52 | 0 | } Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerAttrENS_9AttributeENS0_23IntegerAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13AffineMapAttrENS_9AttributeENS0_25AffineMapAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerTypeENS_4TypeENS0_18IntegerTypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11ComplexTypeENS_4TypeENS0_18ComplexTypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueTypeENS_4TypeENS0_17OpaqueTypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10VectorTypeENS_10ShapedTypeENS0_17VectorTypeStorageENS0_11TypeUniquerEE7classofINS_4TypeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9IndexTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10MemRefTypeENS_14BaseMemRefTypeENS0_17MemRefTypeStorageENS0_11TypeUniquerEE7classofINS_4TypeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_12FunctionTypeENS_4TypeENS0_19FunctionTypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9ArrayAttrENS_9AttributeENS0_21ArrayAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedMemRefTypeENS_14BaseMemRefTypeENS0_25UnrankedMemRefTypeStorageENS0_11TypeUniquerEE7classofINS_4TypeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14IntegerSetAttrENS_9AttributeENS0_26IntegerSetAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8BoolAttrENS_9AttributeENS0_20BoolAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14DictionaryAttrENS_9AttributeENS0_26DictionaryAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8TypeAttrENS_9AttributeENS0_20TypeAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_16RankedTensorTypeENS_10TensorTypeENS0_23RankedTensorTypeStorageENS0_11TypeUniquerEE7classofINS_4TypeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedTensorTypeENS_10TensorTypeENS0_25UnrankedTensorTypeStorageENS0_11TypeUniquerEE7classofINS_4TypeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8NoneTypeENS_4TypeENS_11TypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18SparseElementsAttrENS_12ElementsAttrENS0_30SparseElementsAttributeStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8UnitAttrENS_9AttributeENS_16AttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10StringAttrENS_9AttributeENS0_22StringAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueAttrENS_9AttributeENS0_22OpaqueAttributeStorageENS0_16AttributeUniquerEE7classofIS3_EEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18OpaqueElementsAttrENS_12ElementsAttrENS0_30OpaqueElementsAttributeStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_24DenseIntOrFPElementsAttrENS_17DenseElementsAttrENS0_36DenseIntOrFPElementsAttributeStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_23DenseStringElementsAttrENS_17DenseElementsAttrENS0_35DenseStringElementsAttributeStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9OpaqueLocENS_12LocationAttrENS0_21OpaqueLocationStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14FileLineColLocENS_12LocationAttrENS0_26FileLineColLocationStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_7NameLocENS_12LocationAttrENS0_19NameLocationStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10UnknownLocENS_12LocationAttrENS_16AttributeStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11CallSiteLocENS_12LocationAttrENS0_23CallSiteLocationStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8FusedLocENS_12LocationAttrENS0_20FusedLocationStorageENS0_16AttributeUniquerEE7classofINS_9AttributeEEEbT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9TupleTypeENS_4TypeENS0_16TupleTypeStorageENS0_11TypeUniquerEE7classofIS3_EEbT_ |
53 | | |
54 | | protected: |
55 | | /// Get or create a new ConcreteT instance within the ctx. This |
56 | | /// function is guaranteed to return a non null object and will assert if |
57 | | /// the arguments provided are invalid. |
58 | | template <typename... Args> |
59 | 0 | static ConcreteT get(MLIRContext *ctx, unsigned kind, Args... args) { |
60 | 0 | // Ensure that the invariants are correct for construction. |
61 | 0 | assert(succeeded(ConcreteT::verifyConstructionInvariants( |
62 | 0 | generateUnknownStorageLocation(ctx), args...))); |
63 | 0 | return UniquerT::template get<ConcreteT>(ctx, kind, args...); |
64 | 0 | } Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13AffineMapAttrENS_9AttributeENS0_25AffineMapAttributeStorageENS0_16AttributeUniquerEE3getIJNS_9AffineMapEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9ArrayAttrENS_9AttributeENS0_21ArrayAttributeStorageENS0_16AttributeUniquerEE3getIJN4llvm8ArrayRefIS3_EEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14DictionaryAttrENS_9AttributeENS0_26DictionaryAttributeStorageENS0_16AttributeUniquerEE3getIJN4llvm8ArrayRefISt4pairINS_10IdentifierES3_EEEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE3getIJNS_4TypeEdEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE3getIJNS_4TypeEN4llvm7APFloatEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE3getIJN4llvm9StringRefENS8_8NoneTypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE3getIJN4llvm9StringRefENS8_8ArrayRefINS_17FlatSymbolRefAttrEEEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerAttrENS_9AttributeENS0_23IntegerAttributeStorageENS0_16AttributeUniquerEE3getIJNS_4TypeEN4llvm5APIntEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14IntegerSetAttrENS_9AttributeENS0_26IntegerSetAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10IntegerSetEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueAttrENS_9AttributeENS0_22OpaqueAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10IdentifierEN4llvm9StringRefENS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10StringAttrENS_9AttributeENS0_22StringAttributeStorageENS0_16AttributeUniquerEE3getIJN4llvm9StringRefENS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8TypeAttrENS_9AttributeENS0_20TypeAttributeStorageENS0_16AttributeUniquerEE3getIJNS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_23DenseStringElementsAttrENS_17DenseElementsAttrENS0_35DenseStringElementsAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10ShapedTypeEN4llvm8ArrayRefINS9_9StringRefEEEbEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_24DenseIntOrFPElementsAttrENS_17DenseElementsAttrENS0_36DenseIntOrFPElementsAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10ShapedTypeEN4llvm8ArrayRefIcEEbEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18OpaqueElementsAttrENS_12ElementsAttrENS0_30OpaqueElementsAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10ShapedTypeEPNS_7DialectEN4llvm9StringRefEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18SparseElementsAttrENS_12ElementsAttrENS0_30SparseElementsAttributeStorageENS0_16AttributeUniquerEE3getIJNS_10ShapedTypeENS_20DenseIntElementsAttrENS_17DenseElementsAttrEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11CallSiteLocENS_12LocationAttrENS0_23CallSiteLocationStorageENS0_16AttributeUniquerEE3getIJNS_8LocationES8_EEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14FileLineColLocENS_12LocationAttrENS0_26FileLineColLocationStorageENS0_16AttributeUniquerEE3getIJNS_10IdentifierEjjEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8FusedLocENS_12LocationAttrENS0_20FusedLocationStorageENS0_16AttributeUniquerEE3getIJN4llvm8ArrayRefINS_8LocationEEENS_9AttributeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_7NameLocENS_12LocationAttrENS0_19NameLocationStorageENS0_16AttributeUniquerEE3getIJNS_10IdentifierENS_8LocationEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9OpaqueLocENS_12LocationAttrENS0_21OpaqueLocationStorageENS0_16AttributeUniquerEE3getIJmNS_6TypeIDENS_8LocationEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerTypeENS_4TypeENS0_18IntegerTypeStorageENS0_11TypeUniquerEE3getIJjNS2_19SignednessSemanticsEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11ComplexTypeENS_4TypeENS0_18ComplexTypeStorageENS0_11TypeUniquerEE3getIJS3_EEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10VectorTypeENS_10ShapedTypeENS0_17VectorTypeStorageENS0_11TypeUniquerEE3getIJN4llvm8ArrayRefIlEENS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_16RankedTensorTypeENS_10TensorTypeENS0_23RankedTensorTypeStorageENS0_11TypeUniquerEE3getIJN4llvm8ArrayRefIlEENS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedTensorTypeENS_10TensorTypeENS0_25UnrankedTensorTypeStorageENS0_11TypeUniquerEE3getIJNS_4TypeEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10MemRefTypeENS_14BaseMemRefTypeENS0_17MemRefTypeStorageENS0_11TypeUniquerEE3getIJN4llvm8ArrayRefIlEENS_4TypeENS8_11SmallVectorINS_9AffineMapELj2EEEjEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedMemRefTypeENS_14BaseMemRefTypeENS0_25UnrankedMemRefTypeStorageENS0_11TypeUniquerEE3getIJNS_4TypeEjEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9TupleTypeENS_4TypeENS0_16TupleTypeStorageENS0_11TypeUniquerEE3getIJN4llvm8ArrayRefIS3_EEEEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_12FunctionTypeENS_4TypeENS0_19FunctionTypeStorageENS0_11TypeUniquerEE3getIJN4llvm8ArrayRefIS3_EESA_EEES2_PNS_11MLIRContextEjDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueTypeENS_4TypeENS0_17OpaqueTypeStorageENS0_11TypeUniquerEE3getIJNS_10IdentifierEN4llvm9StringRefEEEES2_PNS_11MLIRContextEjDpT_ |
65 | | |
66 | | /// Get or create a new ConcreteT instance within the ctx, defined at |
67 | | /// the given, potentially unknown, location. If the arguments provided are |
68 | | /// invalid then emit errors and return a null object. |
69 | | template <typename LocationT, typename... Args> |
70 | 0 | static ConcreteT getChecked(LocationT loc, unsigned kind, Args... args) { |
71 | 0 | // If the construction invariants fail then we return a null attribute. |
72 | 0 | if (failed(ConcreteT::verifyConstructionInvariants(loc, args...))) |
73 | 0 | return ConcreteT(); |
74 | 0 | return UniquerT::template get<ConcreteT>(loc.getContext(), kind, args...); |
75 | 0 | } Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE10getCheckedINS_8LocationEJNS_4TypeEdEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE10getCheckedINS_8LocationEJNS_4TypeEN4llvm7APFloatEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueAttrENS_9AttributeENS0_22OpaqueAttributeStorageENS0_16AttributeUniquerEE10getCheckedINS_8LocationEJNS_10IdentifierEN4llvm9StringRefENS_4TypeEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11IntegerTypeENS_4TypeENS0_18IntegerTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJjNS2_19SignednessSemanticsEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11ComplexTypeENS_4TypeENS0_18ComplexTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJS3_EEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10VectorTypeENS_10ShapedTypeENS0_17VectorTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJN4llvm8ArrayRefIlEENS_4TypeEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_16RankedTensorTypeENS_10TensorTypeENS0_23RankedTensorTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJN4llvm8ArrayRefIlEENS_4TypeEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedTensorTypeENS_10TensorTypeENS0_25UnrankedTensorTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJNS_4TypeEEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18UnrankedMemRefTypeENS_14BaseMemRefTypeENS0_25UnrankedMemRefTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJNS_4TypeEjEEES2_T_jDpT0_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10OpaqueTypeENS_4TypeENS0_17OpaqueTypeStorageENS0_11TypeUniquerEE10getCheckedINS_8LocationEJNS_10IdentifierEN4llvm9StringRefEEEES2_T_jDpT0_ |
76 | | |
77 | | /// Default implementation that just returns success. |
78 | | template <typename... Args> |
79 | 0 | static LogicalResult verifyConstructionInvariants(Args... args) { |
80 | 0 | return success(); |
81 | 0 | } Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13AffineMapAttrENS_9AttributeENS0_25AffineMapAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_9AffineMapEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9ArrayAttrENS_9AttributeENS0_21ArrayAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefIS3_EEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14DictionaryAttrENS_9AttributeENS0_26DictionaryAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefISt4pairINS_10IdentifierES3_EEEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm9StringRefENSB_8NoneTypeEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm9StringRefENSB_8ArrayRefINS_17FlatSymbolRefAttrEEEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14IntegerSetAttrENS_9AttributeENS0_26IntegerSetAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10IntegerSetEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10StringAttrENS_9AttributeENS0_22StringAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm9StringRefENS_4TypeEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8TypeAttrENS_9AttributeENS0_20TypeAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_4TypeEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_23DenseStringElementsAttrENS_17DenseElementsAttrENS0_35DenseStringElementsAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10ShapedTypeEN4llvm8ArrayRefINSC_9StringRefEEEbEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_24DenseIntOrFPElementsAttrENS_17DenseElementsAttrENS0_36DenseIntOrFPElementsAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10ShapedTypeEN4llvm8ArrayRefIcEEbEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18OpaqueElementsAttrENS_12ElementsAttrENS0_30OpaqueElementsAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10ShapedTypeEPNS_7DialectEN4llvm9StringRefEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_18SparseElementsAttrENS_12ElementsAttrENS0_30SparseElementsAttributeStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10ShapedTypeENS_20DenseIntElementsAttrENS_17DenseElementsAttrEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_11CallSiteLocENS_12LocationAttrENS0_23CallSiteLocationStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_8LocationESB_EEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_14FileLineColLocENS_12LocationAttrENS0_26FileLineColLocationStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10IdentifierEjjEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_8FusedLocENS_12LocationAttrENS0_20FusedLocationStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefINS_8LocationEEENS_9AttributeEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_7NameLocENS_12LocationAttrENS0_19NameLocationStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageENS_10IdentifierENS_8LocationEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9OpaqueLocENS_12LocationAttrENS0_21OpaqueLocationStorageENS0_16AttributeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEmNS_6TypeIDENS_8LocationEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_10MemRefTypeENS_14BaseMemRefTypeENS0_17MemRefTypeStorageENS0_11TypeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefIlEENS_4TypeENSB_11SmallVectorINS_9AffineMapELj2EEEjEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_9TupleTypeENS_4TypeENS0_16TupleTypeStorageENS0_11TypeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefIS3_EEEEENS_13LogicalResultEDpT_ Unexecuted instantiation: _ZN4mlir6detail15StorageUserBaseINS_12FunctionTypeENS_4TypeENS0_19FunctionTypeStorageENS0_11TypeUniquerEE28verifyConstructionInvariantsIJPKNS_16AttributeStorageEN4llvm8ArrayRefIS3_EESD_EEENS_13LogicalResultEDpT_ |
82 | | |
83 | | /// Utility for easy access to the storage instance. |
84 | 0 | ImplType *getImpl() const { return static_cast<ImplType *>(this->impl); } Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_13AffineMapAttrENS_9AttributeENS0_25AffineMapAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_9ArrayAttrENS_9AttributeENS0_21ArrayAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_8BoolAttrENS_9AttributeENS0_20BoolAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_14DictionaryAttrENS_9AttributeENS0_26DictionaryAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_9FloatAttrENS_9AttributeENS0_21FloatAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_13SymbolRefAttrENS_9AttributeENS0_25SymbolRefAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_11IntegerAttrENS_9AttributeENS0_23IntegerAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_14IntegerSetAttrENS_9AttributeENS0_26IntegerSetAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_10OpaqueAttrENS_9AttributeENS0_22OpaqueAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_10StringAttrENS_9AttributeENS0_22StringAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_8TypeAttrENS_9AttributeENS0_20TypeAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_18OpaqueElementsAttrENS_12ElementsAttrENS0_30OpaqueElementsAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_18SparseElementsAttrENS_12ElementsAttrENS0_30SparseElementsAttributeStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_11CallSiteLocENS_12LocationAttrENS0_23CallSiteLocationStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_14FileLineColLocENS_12LocationAttrENS0_26FileLineColLocationStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_8FusedLocENS_12LocationAttrENS0_20FusedLocationStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_7NameLocENS_12LocationAttrENS0_19NameLocationStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_9OpaqueLocENS_12LocationAttrENS0_21OpaqueLocationStorageENS0_16AttributeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_11ComplexTypeENS_4TypeENS0_18ComplexTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_11IntegerTypeENS_4TypeENS0_18IntegerTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_10VectorTypeENS_10ShapedTypeENS0_17VectorTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_16RankedTensorTypeENS_10TensorTypeENS0_23RankedTensorTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_10MemRefTypeENS_14BaseMemRefTypeENS0_17MemRefTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_18UnrankedMemRefTypeENS_14BaseMemRefTypeENS0_25UnrankedMemRefTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_9TupleTypeENS_4TypeENS0_16TupleTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_12FunctionTypeENS_4TypeENS0_19FunctionTypeStorageENS0_11TypeUniquerEE7getImplEv Unexecuted instantiation: _ZNK4mlir6detail15StorageUserBaseINS_10OpaqueTypeENS_4TypeENS0_17OpaqueTypeStorageENS0_11TypeUniquerEE7getImplEv |
85 | | }; |
86 | | } // namespace detail |
87 | | } // namespace mlir |
88 | | |
89 | | #endif |