Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
jlm::llvm::MemMoveOperation Class Referenceabstract

#include <StdLibIntrinsicOperations.hpp>

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

Public Member Functions

const rvsdg::BitTypelengthType () const noexcept
 
virtual size_t numMemoryStates () const noexcept=0
 
- 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
 
virtual std::string debug_string () const =0
 
virtual std::unique_ptr< Operationcopy () const =0
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static rvsdg::InputdestinationInput (const rvsdg::Node &node) noexcept
 
static rvsdg::InputsourceInput (const rvsdg::Node &node) noexcept
 
static rvsdg::InputlengthInput (const rvsdg::Node &node) noexcept
 
static rvsdg::InputmapMemoryStateOutputToInput (const rvsdg::Output &output)
 
static rvsdg::OutputmapMemoryStateInputToOutput (const rvsdg::Input &input)
 

Protected Member Functions

 MemMoveOperation (const std::vector< std::shared_ptr< const rvsdg::Type > > &operandTypes, const std::vector< std::shared_ptr< const rvsdg::Type > > &resultTypes)
 

Detailed Description

Represents a LLVM's llvm.memmove intrinsic

See LLVM Language Reference Manual for more details.

See also
MemMoveNonVolatileOperation

Definition at line 555 of file StdLibIntrinsicOperations.hpp.

Constructor & Destructor Documentation

◆ MemMoveOperation()

jlm::llvm::MemMoveOperation::MemMoveOperation ( const std::vector< std::shared_ptr< const rvsdg::Type > > &  operandTypes,
const std::vector< std::shared_ptr< const rvsdg::Type > > &  resultTypes 
)
inlineprotected

Definition at line 558 of file StdLibIntrinsicOperations.hpp.

Member Function Documentation

◆ destinationInput()

static rvsdg::Input & jlm::llvm::MemMoveOperation::destinationInput ( const rvsdg::Node node)
inlinestaticnoexcept
Parameters
nodea SimpleNode containing a MemMoveOperation
Returns
the input of node that points to the destination to move to.

Definition at line 600 of file StdLibIntrinsicOperations.hpp.

◆ lengthInput()

static rvsdg::Input & jlm::llvm::MemMoveOperation::lengthInput ( const rvsdg::Node node)
inlinestaticnoexcept
Parameters
nodea SimpleNode containing a MemMoveOperation
Returns
the input of node that points to the length of the memory to move.

Definition at line 626 of file StdLibIntrinsicOperations.hpp.

◆ lengthType()

const rvsdg::BitType & jlm::llvm::MemMoveOperation::lengthType ( ) const
inlinenoexcept
Returns
The type of the length argument

Definition at line 581 of file StdLibIntrinsicOperations.hpp.

◆ mapMemoryStateInputToOutput()

static rvsdg::Output & jlm::llvm::MemMoveOperation::mapMemoryStateInputToOutput ( const rvsdg::Input input)
inlinestatic

Maps a memory state input to its corresponding memory state output.

Definition at line 661 of file StdLibIntrinsicOperations.hpp.

◆ mapMemoryStateOutputToInput()

static rvsdg::Input & jlm::llvm::MemMoveOperation::mapMemoryStateOutputToInput ( const rvsdg::Output output)
inlinestatic

Maps a memory state output to its corresponding memory state input.

Definition at line 640 of file StdLibIntrinsicOperations.hpp.

◆ numMemoryStates()

virtual size_t jlm::llvm::MemMoveOperation::numMemoryStates ( ) const
pure virtualnoexcept
Returns
Number of memory states

Implemented in jlm::llvm::MemMoveNonVolatileOperation.

◆ sourceInput()

static rvsdg::Input & jlm::llvm::MemMoveOperation::sourceInput ( const rvsdg::Node node)
inlinestaticnoexcept
Parameters
nodea SimpleNode containing a MemMoveOperation
Returns
the input of node that points to the source to move from.

Definition at line 613 of file StdLibIntrinsicOperations.hpp.


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