mini-llvm 0.1.0
Loading...
Searching...
No Matches
UIToFP.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
13#include "mini-llvm/ir/Value.h"
15
16namespace mini_llvm::ir {
17
19public:
20 UIToFP(std::shared_ptr<Value> value, std::unique_ptr<FloatingType> type)
21 : IntegerToFloatingCastingOperator(std::move(value), std::move(type)) {}
22
23 std::shared_ptr<Constant> fold() const override;
24
25 void accept(InstructionVisitor &visitor) override {
26 visitor.visitUIToFP(*this);
27 }
28
29 void accept(InstructionVisitor &visitor) const override {
30 visitor.visitUIToFP(*this);
31 }
32
33 std::string format() const override;
34 std::unique_ptr<Value> clone() const override;
35};
36
37} // namespace mini_llvm::ir
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
Definition InstructionVisitor.h:58
virtual void visitUIToFP(UIToFP &I)
Definition InstructionVisitor.h:112
std::unique_ptr< Type > type() const override
Definition IntegerToFloatingCastingOperator.h:25
IntegerToFloatingCastingOperator(std::shared_ptr< Value > value, std::unique_ptr< FloatingType > type)
Definition IntegerToFloatingCastingOperator.h:37
auto & value(this Self &&self)
Definition IntegerToFloatingCastingOperator.h:21
std::string format() const override
std::unique_ptr< Value > clone() const override
void accept(InstructionVisitor &visitor) override
Definition UIToFP.h:25
void accept(InstructionVisitor &visitor) const override
Definition UIToFP.h:29
UIToFP(std::shared_ptr< Value > value, std::unique_ptr< FloatingType > type)
Definition UIToFP.h:20
std::shared_ptr< Constant > fold() const override
Definition Argument.h:13