mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
Condition.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <cstdlib>
6
7
namespace
mini_llvm::mir
{
8
9
enum class
Condition
{
10
#define X(name, specifier, inverted) k##name,
11
#include "mini-llvm/mir/Condition.def"
12
#undef X
13
};
14
15
inline
constexpr
const
char
*
specifier
(
Condition
cond) {
16
switch
(cond) {
17
#define X(name, specifier, inverted) case Condition::k##name: return specifier;
18
#include "mini-llvm/mir/Condition.def"
19
#undef X
20
default
:
21
abort();
22
}
23
}
24
25
inline
constexpr
Condition
inverted
(
Condition
cond) {
26
switch
(cond) {
27
#define X(name, specifier, inverted) case Condition::k##name: return Condition::k##inverted;
28
#include "mini-llvm/mir/Condition.def"
29
#undef X
30
default
:
31
abort();
32
}
33
}
34
35
}
// namespace mini_llvm::mir
mini_llvm::mir
Definition
BasicBlock.h:22
mini_llvm::mir::specifier
constexpr const char * specifier(Condition cond)
Definition
Condition.h:15
mini_llvm::mir::Condition
Condition
Definition
Condition.h:9
mini_llvm::mir::inverted
constexpr Condition inverted(Condition cond)
Definition
Condition.h:25
include
mini-llvm
mir
Condition.h
Generated by
1.17.0