diff --git a/mlir/include/mlir/Support/LLVM.h b/mlir/include/mlir/Support/LLVM.h --- a/mlir/include/mlir/Support/LLVM.h +++ b/mlir/include/mlir/Support/LLVM.h @@ -25,38 +25,54 @@ // Forward declarations. namespace llvm { -// Containers. +// String types +template +class SmallString; class StringRef; class StringLiteral; class Twine; -template class SmallPtrSetImpl; -template class SmallPtrSet; -template class SmallVectorImpl; -template class SmallVector; -template class SmallString; + +// Containers. template class ArrayRef; -template class MutableArrayRef; -template class TinyPtrVector; -template class Optional; -template class PointerUnion; namespace detail { template struct DenseMapPair; -} -template struct DenseMapInfo; -template class DenseSet; +} // namespace detail template class DenseMap; -template class function_ref; -template class iterator_range; -template class TypeSwitch; +template +struct DenseMapInfo; +template +class DenseSet; class MallocAllocator; +template +class MutableArrayRef; +template +class Optional; +template +class PointerUnion; +template +class SmallPtrSet; +template +class SmallPtrSetImpl; +template +class SmallVector; +template +class SmallVectorImpl; template class StringSet; +template +class TinyPtrVector; +template +class TypeSwitch; // Other common classes. -class raw_ostream; class APInt; class APFloat; +template +class function_ref; +template +class iterator_range; +class raw_ostream; } // end namespace llvm namespace mlir { @@ -68,6 +84,14 @@ using llvm::isa; using llvm::isa_and_nonnull; +// String types +using llvm::SmallString; +using llvm::StringLiteral; +using llvm::StringRef; +using llvm::Twine; + +// Container Related types +// // Containers. using llvm::ArrayRef; using llvm::DenseMapInfo; @@ -79,27 +103,24 @@ using DenseSet = llvm::DenseSet; template using StringSet = llvm::StringSet; -template using function_ref = llvm::function_ref; -using llvm::iterator_range; using llvm::MutableArrayRef; using llvm::None; using llvm::Optional; using llvm::PointerUnion; using llvm::SmallPtrSet; using llvm::SmallPtrSetImpl; -using llvm::SmallString; using llvm::SmallVector; using llvm::SmallVectorImpl; -using llvm::StringLiteral; -using llvm::StringRef; using llvm::TinyPtrVector; -using llvm::Twine; template using TypeSwitch = llvm::TypeSwitch; // Other common classes. using llvm::APFloat; using llvm::APInt; +template +using function_ref = llvm::function_ref; +using llvm::iterator_range; using llvm::raw_ostream; } // namespace mlir