mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
Constant.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <string>
6
7
#include "
mini-llvm/ir/ConstantVisitor.h
"
8
#include "
mini-llvm/ir/Value.h
"
9
#include "
mini-llvm/utils/Compiler.h
"
10
11
namespace
mini_llvm::ir
{
12
13
class
MINI_LLVM_EXPORT
Constant
:
public
Value
{
14
public
:
15
virtual
void
accept
(
ConstantVisitor
&visitor) = 0;
16
virtual
void
accept
(
ConstantVisitor
&visitor)
const
= 0;
17
18
std::string
formatAsOperand
()
const override
{
19
return
format
();
20
}
21
22
protected
:
23
virtual
bool
equals
(
const
Constant
&other)
const
= 0;
24
25
friend
bool
operator==
(
const
Constant
&lhs,
const
Constant
&rhs);
26
};
27
28
inline
bool
operator==
(
const
Constant
&lhs,
const
Constant
&rhs) {
29
return
lhs.
equals
(rhs);
30
}
31
32
}
// namespace mini_llvm::ir
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
Value.h
mini_llvm::ir::ConstantVisitor
Definition
ConstantVisitor.h:26
mini_llvm::ir::Constant
Definition
Constant.h:13
mini_llvm::ir::Constant::operator==
friend bool operator==(const Constant &lhs, const Constant &rhs)
Definition
Constant.h:28
mini_llvm::ir::Constant::accept
virtual void accept(ConstantVisitor &visitor) const =0
mini_llvm::ir::Constant::formatAsOperand
std::string formatAsOperand() const override
Definition
Constant.h:18
mini_llvm::ir::Constant::accept
virtual void accept(ConstantVisitor &visitor)=0
mini_llvm::ir::Constant::equals
virtual bool equals(const Constant &other) const =0
mini_llvm::ir::Value::format
virtual std::string format() const =0
mini_llvm::ir::Value::Value
Value()=default
ConstantVisitor.h
mini_llvm::ir
Definition
Argument.h:13
mini_llvm::ir::operator==
bool operator==(const Constant &lhs, const Constant &rhs)
Definition
Constant.h:28
include
mini-llvm
ir
Constant.h
Generated by
1.17.0