Jlm
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::VectorBinaryOperation Class Referencefinal

#include <operators.hpp>

Inheritance diagram for jlm::llvm::VectorBinaryOperation:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::VectorBinaryOperation:
Collaboration graph
[legend]

Public Member Functions

 ~VectorBinaryOperation () noexcept override
 
 VectorBinaryOperation (const rvsdg::BinaryOperation &binop, const std::shared_ptr< const VectorType > &op1, const std::shared_ptr< const VectorType > &op2, const std::shared_ptr< const VectorType > &result)
 
 VectorBinaryOperation (const VectorBinaryOperation &other)
 
 VectorBinaryOperation (VectorBinaryOperation &&other) noexcept
 
VectorBinaryOperationoperator= (const VectorBinaryOperation &other)
 
VectorBinaryOperationoperator= (VectorBinaryOperation &&other) noexcept
 
const rvsdg::BinaryOperationoperation () const noexcept
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
- Public Member Functions inherited from jlm::rvsdg::SimpleOperation
 ~SimpleOperation () noexcept override
 
 SimpleOperation (std::vector< std::shared_ptr< const jlm::rvsdg::Type >> operands, std::vector< std::shared_ptr< const jlm::rvsdg::Type >> results)
 
size_t narguments () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & argument (size_t index) const noexcept
 
size_t nresults () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & result (size_t index) const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Operation
virtual ~Operation () noexcept
 
virtual bool operator== (const Operation &other) const noexcept=0
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static std::unique_ptr< llvm::ThreeAddressCodecreate (const rvsdg::BinaryOperation &binop, const llvm::Variable *op1, const llvm::Variable *op2, const std::shared_ptr< const jlm::rvsdg::Type > &type)
 

Private Attributes

std::unique_ptr< Operation > op_
 

Detailed Description

Definition at line 2170 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~VectorBinaryOperation()

jlm::llvm::VectorBinaryOperation::~VectorBinaryOperation ( )
overridedefaultnoexcept

◆ VectorBinaryOperation() [1/3]

jlm::llvm::VectorBinaryOperation::VectorBinaryOperation ( const rvsdg::BinaryOperation binop,
const std::shared_ptr< const VectorType > &  op1,
const std::shared_ptr< const VectorType > &  op2,
const std::shared_ptr< const VectorType > &  result 
)
inline

Definition at line 2175 of file operators.hpp.

◆ VectorBinaryOperation() [2/3]

jlm::llvm::VectorBinaryOperation::VectorBinaryOperation ( const VectorBinaryOperation other)
inline

Definition at line 2201 of file operators.hpp.

◆ VectorBinaryOperation() [3/3]

jlm::llvm::VectorBinaryOperation::VectorBinaryOperation ( VectorBinaryOperation &&  other)
inlinenoexcept

Definition at line 2206 of file operators.hpp.

Member Function Documentation

◆ copy()

std::unique_ptr< rvsdg::Operation > jlm::llvm::VectorBinaryOperation::copy ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 1040 of file operators.cpp.

◆ create()

static std::unique_ptr<llvm::ThreeAddressCode> jlm::llvm::VectorBinaryOperation::create ( const rvsdg::BinaryOperation binop,
const llvm::Variable op1,
const llvm::Variable op2,
const std::shared_ptr< const jlm::rvsdg::Type > &  type 
)
inlinestatic

Definition at line 2245 of file operators.hpp.

◆ debug_string()

std::string jlm::llvm::VectorBinaryOperation::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 1034 of file operators.cpp.

◆ operation()

const rvsdg::BinaryOperation& jlm::llvm::VectorBinaryOperation::operation ( ) const
inlinenoexcept

Definition at line 2230 of file operators.hpp.

◆ operator=() [1/2]

VectorBinaryOperation& jlm::llvm::VectorBinaryOperation::operator= ( const VectorBinaryOperation other)
inline

Definition at line 2212 of file operators.hpp.

◆ operator=() [2/2]

VectorBinaryOperation& jlm::llvm::VectorBinaryOperation::operator= ( VectorBinaryOperation &&  other)
inlinenoexcept

Definition at line 2221 of file operators.hpp.

◆ operator==()

bool jlm::llvm::VectorBinaryOperation::operator== ( const Operation &  other) const
overridenoexcept

Definition at line 1027 of file operators.cpp.

Member Data Documentation

◆ op_

std::unique_ptr<Operation> jlm::llvm::VectorBinaryOperation::op_
private

Definition at line 2262 of file operators.hpp.


The documentation for this class was generated from the following files: