mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
Terminator.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <unordered_set>
6
7
#include "
mini-llvm/mir/BasicBlockOperand.h
"
8
#include "
mini-llvm/mir/Instruction.h
"
9
#include "
mini-llvm/utils/Compiler.h
"
10
11
namespace
mini_llvm::mir
{
12
13
class
MINI_LLVM_EXPORT
Terminator
:
public
Instruction
{
14
public
:
15
bool
hasSideEffects
()
const override
{
16
return
true
;
17
}
18
19
virtual
std::unordered_set<const BasicBlockOperand *>
blockOps
()
const
= 0;
20
std::unordered_set<BasicBlockOperand *>
blockOps
();
21
};
22
23
}
// namespace mini_llvm::mir
BasicBlockOperand.h
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
mini_llvm::mir::Instruction::Instruction
Instruction()=default
mini_llvm::mir::Terminator
Definition
Terminator.h:13
mini_llvm::mir::Terminator::blockOps
virtual std::unordered_set< const BasicBlockOperand * > blockOps() const =0
mini_llvm::mir::Terminator::blockOps
std::unordered_set< BasicBlockOperand * > blockOps()
mini_llvm::mir::Terminator::hasSideEffects
bool hasSideEffects() const override
Definition
Terminator.h:15
Instruction.h
mini_llvm::mir
Definition
BasicBlock.h:22
include
mini-llvm
mir
Instruction
Terminator.h
Generated by
1.17.0