//===- CodeMetrics.h - Code cost measurements -------------------*- 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 implements various weight measurements for code, helping // the Inliner and other passes decide whether to duplicate its contents. // //===----------------------------------------------------------------------===// #ifndef LLVM_ANALYSIS_CODEMETRICS_H #define LLVM_ANALYSIS_CODEMETRICS_H #include "llvm/ADT/DenseMap.h" #include "llvm/Support/InstructionCost.h" namespace llvm { class AssumptionCache; class BasicBlock; class Loop; class Function; template <class T> class SmallPtrSetImpl; class TargetTransformInfo; class Value; enum struct ConvergenceKind { … }; /// Utility to calculate the size and a few similar metrics for a set /// of basic blocks. struct CodeMetrics { … }; } #endif