| 
    LLVM 22.0.0git
    
   | 
 
Analyzes if a function potentially memory bound and if a kernel kernel may benefit from limiting number of waves to reduce cache thrashing. More...
#include "AMDGPUPerfHintAnalysis.h"#include "AMDGPU.h"#include "AMDGPUTargetMachine.h"#include "Utils/AMDGPUBaseInfo.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/CallGraph.h"#include "llvm/Analysis/CallGraphSCCPass.h"#include "llvm/Analysis/LazyCallGraph.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/CodeGen/TargetLowering.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/Support/CommandLine.h"#include "llvm/Target/TargetMachine.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "amdgpu-perf-hint" | 
Functions | |
| STATISTIC (NumMemBound, "Number of functions marked as memory bound") | |
| STATISTIC (NumLimitWave, "Number of functions marked as needing limit wave") | |
| INITIALIZE_PASS (AMDGPUPerfHintAnalysisLegacy, DEBUG_TYPE, "Analysis if a function is memory bound", true, true) bool AMDGPUPerfHintAnalysisLegacy | |
Variables | |
| static cl::opt< unsigned > | MemBoundThresh ("amdgpu-membound-threshold", cl::init(50), cl::Hidden, cl::desc("Function mem bound threshold in %")) | 
| static cl::opt< unsigned > | LimitWaveThresh ("amdgpu-limit-wave-threshold", cl::init(50), cl::Hidden, cl::desc("Kernel limit wave threshold in %")) | 
| static cl::opt< unsigned > | IAWeight ("amdgpu-indirect-access-weight", cl::init(1000), cl::Hidden, cl::desc("Indirect access memory instruction weight")) | 
| static cl::opt< unsigned > | LSWeight ("amdgpu-large-stride-weight", cl::init(1000), cl::Hidden, cl::desc("Large stride memory access weight")) | 
| static cl::opt< unsigned > | LargeStrideThresh ("amdgpu-large-stride-threshold", cl::init(64), cl::Hidden, cl::desc("Large stride memory access threshold")) | 
Analyzes if a function potentially memory bound and if a kernel kernel may benefit from limiting number of waves to reduce cache thrashing.
Definition in file AMDGPUPerfHintAnalysis.cpp.
| #define DEBUG_TYPE "amdgpu-perf-hint" | 
Definition at line 34 of file AMDGPUPerfHintAnalysis.cpp.
| INITIALIZE_PASS | ( | AMDGPUPerfHintAnalysisLegacy | , | 
| DEBUG_TYPE | , | ||
| "Analysis if a function is memory bound" | , | ||
| true | , | ||
| true | ) | 
Definition at line 469 of file AMDGPUPerfHintAnalysis.cpp.
References DEBUG_TYPE.
| STATISTIC | ( | NumLimitWave | , | 
| "Number of functions marked as needing limit wave" | ) | 
| STATISTIC | ( | NumMemBound | , | 
| "Number of functions marked as memory bound" | ) | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static |