|
LLVM 24.0.0git
|
#include "llvm/Analysis/BlockFrequencyInfo.h"#include "AnalysisOptions.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/iterator.h"#include "llvm/Analysis/BlockFrequencyInfoImpl.h"#include "llvm/Analysis/BranchProbabilityInfo.h"#include "llvm/Analysis/CycleAnalysis.h"#include "llvm/IR/CFG.h"#include "llvm/IR/Function.h"#include "llvm/IR/PassManager.h"#include "llvm/InitializePasses.h"#include "llvm/Pass.h"#include "llvm/Support/GraphWriter.h"#include "llvm/Support/raw_ostream.h"#include <cassert>#include <optional>#include <string>Go to the source code of this file.
Classes | |
| struct | llvm::GraphTraits< BlockFrequencyInfo * > |
| struct | llvm::DOTGraphTraits< BlockFrequencyInfo * > |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
| #define | DEBUG_TYPE "block-freq" |
Typedefs | |
| using | llvm::BFIDOTGTraitsBase |
Functions | |
| static GVDAGType | llvm::getGVDT (const LLVMContext &C) |
| static uint64_t | scaleFrequency (uint64_t BBFreq, uint64_t NewFreq, uint64_t OldFreq) |
| Return min(BBFreq * NewFreq / OldFreq, UINT64_MAX). | |
| INITIALIZE_PASS_BEGIN (BlockFrequencyInfoWrapperPass, "block-freq", "Block Frequency Analysis", true, true) INITIALIZE_PASS_END(BlockFrequencyInfoWrapperPass | |
Variables | |
| block | freq |
| block Block Frequency | Analysis |
| block Block Frequency | true |
| #define DEBUG_TYPE "block-freq" |
Definition at line 33 of file BlockFrequencyInfo.cpp.
| INITIALIZE_PASS_BEGIN | ( | BlockFrequencyInfoWrapperPass | , |
| "block-freq" | , | ||
| "Block Frequency Analysis" | , | ||
| true | , | ||
| true | ) |
References INITIALIZE_PASS_DEPENDENCY.
Return min(BBFreq * NewFreq / OldFreq, UINT64_MAX).
Multiplies before dividing, to minimize loss of precision.
Definition at line 194 of file BlockFrequencyInfo.cpp.
References assert(), BBFreq, Scaled, UINT64_MAX, and uint64_t.
Referenced by llvm::BlockFrequencyInfo::setBlockFreqAndScale().
Definition at line 268 of file BlockFrequencyInfo.cpp.
Referenced by canConvertToFMA(), llvm::TargetLowering::computeKnownAlignForTargetInstr(), llvm::RISCVTargetLowering::computeKnownBitsForTargetInstr(), llvm::TargetLowering::computeKnownBitsForTargetInstr(), llvm::TargetLowering::computeKnownFPClassForTargetInstr(), llvm::AArch64TargetLowering::computeNumSignBitsForTargetInstr(), llvm::AMDGPUTargetLowering::computeNumSignBitsForTargetInstr(), llvm::TargetLowering::computeNumSignBitsForTargetInstr(), llvm::MIR2VecVocabPrinterLegacyPass::doFinalization(), llvm::AnalysisGetter::getAnalysis(), llvm::AnalysisGetter::HasLegacyWrapper(), llvm::AMDGPUTargetLowering::PostISelFolding(), llvm::DOTGraphTraitsPrinterWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::processFunction(), llvm::DOTGraphTraitsViewerWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::processFunction(), llvm::PassInstrumentation::runAfterAnalysis(), llvm::PassInstrumentation::runAnalysisInvalidated(), llvm::PassInstrumentation::runBeforeAnalysis(), llvm::DOTGraphTraitsPrinterWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::DOTGraphTraitsViewerWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::MIR2VecPrinterLegacyPass::runOnMachineFunction(), and scanAssociativeOperands().
| block freq |
Definition at line 267 of file BlockFrequencyInfo.cpp.
Referenced by llvm::SpillPlacement::Node::addBias(), and llvm::DOTGraphTraits< CallGraphDOTInfo * >::getNodeAttributes().
| block Block Frequency true |
Definition at line 268 of file BlockFrequencyInfo.cpp.