LLVM 17.0.0git
Classes | Namespaces | Functions
SampleProfileInference.h File Reference

This file provides the interface for the profile inference algorithm, profi. More...

#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
Include dependency graph for SampleProfileInference.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::afdo_detail::TypeMap< BlockT >
 
struct  llvm::afdo_detail::TypeMap< BasicBlock >
 
struct  llvm::afdo_detail::TypeMap< MachineBasicBlock >
 
struct  llvm::FlowBlock
 A wrapper of a binary basic block. More...
 
struct  llvm::FlowJump
 A wrapper of a jump between two basic blocks. More...
 
struct  llvm::FlowFunction
 A wrapper of binary function with basic blocks and jumps. More...
 
struct  llvm::ProfiParams
 Various thresholds and options controlling the behavior of the profile inference algorithm. More...
 
class  llvm::SampleProfileInference< BT >
 Sample profile inference pass. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::afdo_detail
 

Functions

void llvm::applyFlowInference (const ProfiParams &Params, FlowFunction &Func)
 Apply the profile inference algorithm for a given function.
 
void llvm::applyFlowInference (FlowFunction &Func)
 Apply the profile inference algorithm for a given flow function.
 

Detailed Description

This file provides the interface for the profile inference algorithm, profi.

Definition in file SampleProfileInference.h.