//===- AMDGPUPerfHintAnalysis.h ---- analysis of memory traffic -*- 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 // //===----------------------------------------------------------------------===// // /// \file /// \brief Analyzes if a function potentially memory bound and if a kernel /// kernel may benefit from limiting number of waves to reduce cache thrashing. /// //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUPERFHINTANALYSIS_H #define LLVM_LIB_TARGET_AMDGPU_AMDGPUPERFHINTANALYSIS_H #include "llvm/IR/PassManager.h" #include "llvm/IR/ValueMap.h" #include "llvm/Analysis/CGSCCPassManager.h" #include "llvm/Analysis/LazyCallGraph.h" namespace llvm { class AMDGPUPerfHintAnalysis; class CallGraphSCC; class GCNTargetMachine; class LazyCallGraph; class AMDGPUPerfHintAnalysis { … }; struct AMDGPUPerfHintAnalysisPass : public PassInfoMixin<AMDGPUPerfHintAnalysisPass> { … }; } // namespace llvm #endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUPERFHINTANALYSIS_H