mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
BranchPredictionAnalysis.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <memory>
6
7
#include "
mini-llvm/mir/BasicBlock.h
"
8
#include "
mini-llvm/mir/Function.h
"
9
#include "
mini-llvm/opt/mir/FunctionAnalysis.h
"
10
#include "
mini-llvm/utils/Compiler.h
"
11
12
namespace
mini_llvm::mir
{
13
14
class
MINI_LLVM_EXPORT
BranchPredictionAnalysis
final :
public
FunctionAnalysis
{
15
public
:
16
BranchPredictionAnalysis
();
17
~BranchPredictionAnalysis
()
override
;
18
void
runOnFunction
(
const
Function
&F)
override
;
19
bool
predict
(
const
BasicBlock
&B,
const
BasicBlock
&succ)
const
;
20
21
private
:
22
class
Impl;
23
24
std::unique_ptr<Impl> impl_;
25
};
26
27
}
// namespace mini_llvm::mir
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
mini_llvm::mir::BasicBlock
Definition
BasicBlock.h:24
mini_llvm::mir::BranchPredictionAnalysis::~BranchPredictionAnalysis
~BranchPredictionAnalysis() override
mini_llvm::mir::BranchPredictionAnalysis::predict
bool predict(const BasicBlock &B, const BasicBlock &succ) const
mini_llvm::mir::BranchPredictionAnalysis::runOnFunction
void runOnFunction(const Function &F) override
mini_llvm::mir::BranchPredictionAnalysis::BranchPredictionAnalysis
BranchPredictionAnalysis()
mini_llvm::mir::FunctionAnalysis::FunctionAnalysis
FunctionAnalysis()=default
mini_llvm::mir::Function
Definition
Function.h:21
BasicBlock.h
FunctionAnalysis.h
Function.h
mini_llvm::mir
Definition
BasicBlock.h:22
include
mini-llvm
opt
mir
passes
BranchPredictionAnalysis.h
Generated by
1.17.0