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

#include <operators.hpp>

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

Public Member Functions

 ~ShuffleVectorOperation () noexcept override
 
 ShuffleVectorOperation (const std::shared_ptr< const FixedVectorType > &v, const std::vector< int > &mask)
 
 ShuffleVectorOperation (const std::shared_ptr< const ScalableVectorType > &v, const std::vector< int > &mask)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
const ::llvm::ArrayRef< int > Mask () const
 
- 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 Variable *v1, const Variable *v2, const std::vector< int > &mask)
 

Static Private Member Functions

template<typename T >
static std::unique_ptr< ThreeAddressCodeCreateShuffleVectorTac (const Variable *v1, const Variable *v2, const std::vector< int > &mask)
 

Private Attributes

std::vector< int > Mask_
 

Detailed Description

Definition at line 1942 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~ShuffleVectorOperation()

jlm::llvm::ShuffleVectorOperation::~ShuffleVectorOperation ( )
overridedefaultnoexcept

◆ ShuffleVectorOperation() [1/2]

jlm::llvm::ShuffleVectorOperation::ShuffleVectorOperation ( const std::shared_ptr< const FixedVectorType > &  v,
const std::vector< int > &  mask 
)
inline

Definition at line 1947 of file operators.hpp.

◆ ShuffleVectorOperation() [2/2]

jlm::llvm::ShuffleVectorOperation::ShuffleVectorOperation ( const std::shared_ptr< const ScalableVectorType > &  v,
const std::vector< int > &  mask 
)
inline

Definition at line 1954 of file operators.hpp.

Member Function Documentation

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 955 of file operators.cpp.

◆ create()

static std::unique_ptr<llvm::ThreeAddressCode> jlm::llvm::ShuffleVectorOperation::create ( const Variable v1,
const Variable v2,
const std::vector< int > &  mask 
)
inlinestatic

Definition at line 1977 of file operators.hpp.

◆ CreateShuffleVectorTac()

template<typename T >
static std::unique_ptr<ThreeAddressCode> jlm::llvm::ShuffleVectorOperation::CreateShuffleVectorTac ( const Variable v1,
const Variable v2,
const std::vector< int > &  mask 
)
inlinestaticprivate

Definition at line 1991 of file operators.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 949 of file operators.cpp.

◆ Mask()

const ::llvm::ArrayRef<int> jlm::llvm::ShuffleVectorOperation::Mask ( ) const
inline

Definition at line 1971 of file operators.hpp.

◆ operator==()

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

Definition at line 942 of file operators.cpp.

Member Data Documentation

◆ Mask_

std::vector<int> jlm::llvm::ShuffleVectorOperation::Mask_
private

Definition at line 1998 of file operators.hpp.


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