//===- ThreadLocalCache.h - ThreadLocalCache class --------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file contains a definition of the ThreadLocalCache class. This class // provides support for defining thread local objects with non-static duration. // //===----------------------------------------------------------------------===// #ifndef MLIR_SUPPORT_THREADLOCALCACHE_H #define MLIR_SUPPORT_THREADLOCALCACHE_H #include "mlir/Support/LLVM.h" #include "llvm/ADT/DenseMap.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/Mutex.h" namespace mlir { /// This class provides support for defining a thread local object with non /// static storage duration. This is very useful for situations in which a data /// cache has very large lock contention. template <typename ValueT> class ThreadLocalCache { … }; } // namespace mlir #endif // MLIR_SUPPORT_THREADLOCALCACHE_H