18 #ifndef MLIR_SUPPORT_LLVM_H
19 #define MLIR_SUPPORT_LLVM_H
23 #include "llvm/Support/Casting.h"
27 #if defined(__clang_major__)
28 #if __clang_major__ <= 5
29 #include "llvm/ADT/DenseMapInfo.h"
30 #include "llvm/ADT/SmallVector.h"
48 template <
typename KeyT,
typename ValueT>
51 template <
typename KeyT,
typename ValueT,
typename KeyInfoT,
typename BucketT>
53 template <
typename T,
typename Enable>
55 template <
typename ValueT,
typename ValueInfoT>
57 class MallocAllocator;
60 template <
typename... PT>
62 template <
typename T,
typename Vector,
typename Set>
64 template <
typename T,
unsigned N>
68 template <
typename T,
unsigned N>
72 template <
typename AllocatorTy>
74 template <
typename T,
typename R>
78 template <
typename T,
typename ResultT>
85 template <
typename Fn>
87 template <
typename IteratorT>
97 using llvm::cast_if_present;
98 using llvm::cast_or_null;
100 using llvm::dyn_cast_if_present;
101 using llvm::dyn_cast_or_null;
103 using llvm::isa_and_nonnull;
104 using llvm::isa_and_present;
108 using llvm::StringLiteral;
109 using llvm::StringRef;
116 using llvm::BitVector;
117 template <
typename T,
typename Enable =
void>
119 template <
typename KeyT,
typename ValueT,
123 template <
typename ValueT,
typename ValueInfoT = DenseMapInfo<ValueT>>
125 template <
typename T,
typename Vector = std::vector<T>,
126 typename Set = DenseSet<T>>
128 template <
typename AllocatorTy = llvm::MallocAllocator>
136 template <
typename T,
typename R = T>
139 template <
typename T,
typename ResultT =
void>
146 template <
typename Fn>
149 using llvm::raw_ostream;
Include the generated interface declarations.
This header declares functions that assist transformations in the MemRef dialect.