mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
TailDuplication.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <cstddef>
6
7
#include "
mini-llvm/mir/Function.h
"
8
#include "
mini-llvm/opt/mir/FunctionTransform.h
"
9
#include "
mini-llvm/utils/Compiler.h
"
10
11
namespace
mini_llvm::mir
{
12
13
class
MINI_LLVM_EXPORT
TailDuplication
final :
public
FunctionTransform
{
14
public
:
15
explicit
TailDuplication
(
size_t
threshold) : threshold_(threshold) {}
16
17
bool
runOnFunction
(
Function
&F)
override
;
18
19
private
:
20
size_t
threshold_;
21
};
22
23
}
// namespace mini_llvm::mir
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
mini_llvm::mir::FunctionTransform
Definition
FunctionTransform.h:12
mini_llvm::mir::Function
Definition
Function.h:21
mini_llvm::mir::TailDuplication::runOnFunction
bool runOnFunction(Function &F) override
mini_llvm::mir::TailDuplication::TailDuplication
TailDuplication(size_t threshold)
Definition
TailDuplication.h:15
FunctionTransform.h
Function.h
mini_llvm::mir
Definition
BasicBlock.h:22
include
mini-llvm
opt
mir
passes
TailDuplication.h
Generated by
1.17.0