mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
FPTrunc.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <memory>
6
#include <string>
7
#include <utility>
8
9
#include "
mini-llvm/ir/Constant.h
"
10
#include "
mini-llvm/ir/Instruction/FloatingCastingOperator.h
"
11
#include "
mini-llvm/ir/InstructionVisitor.h
"
12
#include "
mini-llvm/ir/Type/FloatingType.h
"
13
#include "
mini-llvm/ir/Value.h
"
14
#include "
mini-llvm/utils/Compiler.h
"
15
16
namespace
mini_llvm::ir
{
17
18
class
MINI_LLVM_EXPORT
FPTrunc
final :
public
FloatingCastingOperator
{
19
public
:
20
FPTrunc
(std::shared_ptr<Value>
value
, std::unique_ptr<FloatingType>
type
)
21
:
FloatingCastingOperator
(std::move(
value
), std::move(
type
)) {}
22
23
std::shared_ptr<Constant>
fold
()
const override
;
24
25
void
accept
(
InstructionVisitor
&visitor)
override
{
26
visitor.
visitFPTrunc
(*
this
);
27
}
28
29
void
accept
(
InstructionVisitor
&visitor)
const override
{
30
visitor.
visitFPTrunc
(*
this
);
31
}
32
33
bool
isWellFormed
()
const override
;
34
std::string
format
()
const override
;
35
std::unique_ptr<Value>
clone
()
const override
;
36
};
37
38
}
// namespace mini_llvm::ir
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
FloatingCastingOperator.h
FloatingType.h
Value.h
mini_llvm::ir::FPTrunc::isWellFormed
bool isWellFormed() const override
mini_llvm::ir::FPTrunc::clone
std::unique_ptr< Value > clone() const override
mini_llvm::ir::FPTrunc::FPTrunc
FPTrunc(std::shared_ptr< Value > value, std::unique_ptr< FloatingType > type)
Definition
FPTrunc.h:20
mini_llvm::ir::FPTrunc::accept
void accept(InstructionVisitor &visitor) override
Definition
FPTrunc.h:25
mini_llvm::ir::FPTrunc::fold
std::shared_ptr< Constant > fold() const override
mini_llvm::ir::FPTrunc::format
std::string format() const override
mini_llvm::ir::FPTrunc::accept
void accept(InstructionVisitor &visitor) const override
Definition
FPTrunc.h:29
mini_llvm::ir::FloatingCastingOperator::type
std::unique_ptr< Type > type() const override
Definition
FloatingCastingOperator.h:25
mini_llvm::ir::FloatingCastingOperator::value
auto & value(this Self &&self)
Definition
FloatingCastingOperator.h:21
mini_llvm::ir::FloatingCastingOperator::FloatingCastingOperator
FloatingCastingOperator(std::shared_ptr< Value > value, std::unique_ptr< FloatingType > type)
Definition
FloatingCastingOperator.h:37
mini_llvm::ir::InstructionVisitor
Definition
InstructionVisitor.h:58
mini_llvm::ir::InstructionVisitor::visitFPTrunc
virtual void visitFPTrunc(FPTrunc &I)
Definition
InstructionVisitor.h:86
Constant.h
InstructionVisitor.h
mini_llvm::ir
Definition
Argument.h:13
include
mini-llvm
ir
Instruction
FPTrunc.h
Generated by
1.17.0