18#ifndef MLIR_SUPPORT_LLVM_H
19#define MLIR_SUPPORT_LLVM_H
23#include "llvm/Support/Casting.h"
27#include "llvm/Support/LogicalResult.h"
30#if defined(__clang_major__)
31#if __clang_major__ <= 5
32#include "llvm/ADT/DenseMapInfo.h"
33#include "llvm/ADT/SmallVector.h"
51template <
typename KeyT,
typename ValueT>
54template <
typename KeyT,
typename ValueT,
typename KeyInfoT,
typename BucketT>
56template <
typename T,
typename Enable>
58template <
typename ValueT,
typename ValueInfoT>
63template <
typename... PT>
65template <
typename T,
typename Vector,
typename Set,
unsigned N>
67template <
typename T,
unsigned N>
71template <
typename T,
unsigned N>
75template <
typename AllocatorTy>
77template <
typename T,
typename R>
81template <
typename T,
typename ResultT>
91template <
typename IteratorT>
101using llvm::cast_if_present;
102using llvm::cast_or_null;
104using llvm::dyn_cast_if_present;
105using llvm::dyn_cast_or_null;
107using llvm::isa_and_nonnull;
108using llvm::isa_and_present;
112using llvm::StringLiteral;
113using llvm::StringRef;
120using llvm::BitVector;
121template <
typename T,
typename Enable =
void>
123template <
typename KeyT,
typename ValueT,
127template <
typename ValueT,
typename ValueInfoT = DenseMapInfo<ValueT>>
129template <
typename T,
typename Vector = llvm::SmallVector<T, 0>,
130 typename Set = DenseSet<T>,
unsigned N = 0>
132template <
typename AllocatorTy = llvm::MallocAllocator>
140template <
typename T,
typename R = T>
143template <
typename T,
typename ResultT =
void>
150using llvm::DynamicAPInt;
151template <
typename Fn>
154using llvm::raw_ostream;
161using llvm::FailureOr;
162using llvm::LogicalResult;
163using llvm::ParseResult;
164using llvm::succeeded;
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Include the generated interface declarations.
llvm::DenseMapInfo< T, Enable > DenseMapInfo
llvm::DenseSet< ValueT, ValueInfoT > DenseSet
llvm::SetVector< T, Vector, Set, N > SetVector
llvm::StringSet< AllocatorTy > StringSet
llvm::TypeSwitch< T, ResultT > TypeSwitch
llvm::DenseMap< KeyT, ValueT, KeyInfoT, BucketT > DenseMap
llvm::StringSwitch< T, R > StringSwitch
llvm::function_ref< Fn > function_ref