//===- CostAllocator.h - PBQP Cost Allocator --------------------*- 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 // //===----------------------------------------------------------------------===// // // Defines classes conforming to the PBQP cost value manager concept. // // Cost value managers are memory managers for PBQP cost values (vectors and // matrices). Since PBQP graphs can grow very large (E.g. hundreds of thousands // of edges on the largest function in SPEC2006). // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_PBQP_COSTALLOCATOR_H #define LLVM_CODEGEN_PBQP_COSTALLOCATOR_H #include "llvm/ADT/DenseSet.h" #include <algorithm> #include <cstdint> #include <memory> namespace llvm { namespace PBQP { template <typename ValueT> class ValuePool { … }; template <typename VectorT, typename MatrixT> class PoolCostAllocator { … }; } // end namespace PBQP } // end namespace llvm #endif // LLVM_CODEGEN_PBQP_COSTALLOCATOR_H