mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
ZeroRegisterReplacement.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include "
mini-llvm/mir/BasicBlock.h
"
6
#include "
mini-llvm/mir/PhysicalRegister.h
"
7
#include "
mini-llvm/opt/mir/BasicBlockTransform.h
"
8
#include "
mini-llvm/utils/Compiler.h
"
9
10
namespace
mini_llvm::mir
{
11
12
class
MINI_LLVM_EXPORT
ZeroRegisterReplacement
final :
public
BasicBlockTransform
{
13
public
:
14
explicit
ZeroRegisterReplacement
(
PhysicalRegister
*zeroReg) : zeroReg_(zeroReg) {}
15
16
bool
runOnBasicBlock
(
BasicBlock
&B)
override
;
17
18
private
:
19
PhysicalRegister
*zeroReg_;
20
};
21
22
}
// namespace mini_llvm::mir
BasicBlockTransform.h
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
PhysicalRegister.h
mini_llvm::mir::BasicBlockTransform
Definition
BasicBlockTransform.h:12
mini_llvm::mir::BasicBlock
Definition
BasicBlock.h:24
mini_llvm::mir::PhysicalRegister
Definition
PhysicalRegister.h:13
mini_llvm::mir::ZeroRegisterReplacement::runOnBasicBlock
bool runOnBasicBlock(BasicBlock &B) override
mini_llvm::mir::ZeroRegisterReplacement::ZeroRegisterReplacement
ZeroRegisterReplacement(PhysicalRegister *zeroReg)
Definition
ZeroRegisterReplacement.h:14
BasicBlock.h
mini_llvm::mir
Definition
BasicBlock.h:22
include
mini-llvm
opt
mir
passes
ZeroRegisterReplacement.h
Generated by
1.17.0