mini-llvm 0.1.0
Loading...
Searching...
No Matches
BinaryIntegerRelationalOperator.h
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5#include <memory>
6#include <utility>
7
9#include "mini-llvm/ir/Type.h"
11#include "mini-llvm/ir/Value.h"
13
14namespace mini_llvm::ir {
15
17public:
18 std::unique_ptr<Type> type() const override {
19 return std::make_unique<I1>();
20 }
21
22protected:
23 BinaryIntegerRelationalOperator(std::shared_ptr<Value> lhs, std::shared_ptr<Value> rhs)
24 : BinaryIntegerOperator(std::move(lhs), std::move(rhs)) {}
25};
26
27} // namespace mini_llvm::ir
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
auto & lhs(this Self &&self)
Definition BinaryIntegerOperator.h:19
BinaryIntegerOperator(std::shared_ptr< Value > lhs, std::shared_ptr< Value > rhs)
Definition BinaryIntegerOperator.h:36
auto & rhs(this Self &&self)
Definition BinaryIntegerOperator.h:24
std::unique_ptr< Type > type() const override
Definition BinaryIntegerRelationalOperator.h:18
BinaryIntegerRelationalOperator(std::shared_ptr< Value > lhs, std::shared_ptr< Value > rhs)
Definition BinaryIntegerRelationalOperator.h:23
Definition Argument.h:13