13#ifndef LLVM_CODEGEN_BASIC_BLOCK_AND_INFERENCE_H
14#define LLVM_CODEGEN_BASIC_BLOCK_AND_INFERENCE_H
24 using Edge = std::pair<const MachineBasicBlock *, const MachineBasicBlock *>;
32 BlockWeightMap BlockWeights;
34 EdgeWeightMap EdgeWeights;
42 return "Basic Block Matching and Inference";
49 std::optional<WeightInfo> getWeightInfo(
StringRef FuncName)
const;
57 WeightInfo &MatchWeight);
This file provides the interface for the profile inference algorithm, profi.
Represent the analysis usage information of a pass.
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
BasicBlockMatchingAndInference()
MachineFunctionPass(char &ID)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.