LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MachineBlockFrequencyInfo.cpp
Go to the documentation of this file.
1 //====----- MachineBlockFrequencyInfo.cpp - Machine Block Frequency Analysis ----====//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // Loops should be simplified before this analysis.
11 //
12 //===----------------------------------------------------------------------===//
13 
17 #include "llvm/CodeGen/Passes.h"
18 #include "llvm/InitializePasses.h"
19 
20 using namespace llvm;
21 
23  "Machine Block Frequency Analysis", true, true)
26  "Machine Block Frequency Analysis", true, true)
27 
28 char MachineBlockFrequencyInfo::ID = 0;
29 
30 
31 MachineBlockFrequencyInfo::MachineBlockFrequencyInfo() : MachineFunctionPass(ID) {
35 }
36 
38  delete MBFI;
39 }
40 
43  AU.setPreservesAll();
45 }
46 
48  MachineBranchProbabilityInfo &MBPI = getAnalysis<MachineBranchProbabilityInfo>();
49  MBFI->doFunction(&F, &MBPI);
50  return false;
51 }
52 
54 getBlockFreq(const MachineBasicBlock *MBB) const {
55  return MBFI->getBlockFreq(MBB);
56 }
static PassRegistry * getPassRegistry()
machine block Machine Block Frequency true
F(f)
BlockFrequency getBlockFreq(const MachineBasicBlock *MBB) const
AnalysisUsage & addRequired()
#define INITIALIZE_PASS_DEPENDENCY(depName)
Definition: PassSupport.h:167
#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)
Definition: PassSupport.h:172
ID
LLVM Calling Convention Representation.
Definition: CallingConv.h:26
machine block Machine Block Frequency Analysis
COFF::MachineTypes Machine
Definition: COFFYAML.cpp:211
machine block freq
void initializeMachineBlockFrequencyInfoPass(PassRegistry &)
void getAnalysisUsage(AnalysisUsage &AU) const
virtual void getAnalysisUsage(AnalysisUsage &AU) const
INITIALIZE_PASS_BEGIN(MachineBlockFrequencyInfo,"machine-block-freq","Machine Block Frequency Analysis", true, true) INITIALIZE_PASS_END(MachineBlockFrequencyInfo
bool runOnMachineFunction(MachineFunction &F)