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

#include <StdLibIntrinsicOperations.hpp>

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

Public Member Functions

const rvsdg::BitType & lengthType () 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< Operation > copy () const =0
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static rvsdg::Input & destinationInput (const rvsdg::Node &node) noexcept
 
static rvsdg::Input & valueInput (const rvsdg::Node &node) noexcept
 
static rvsdg::Input & lengthInput (const rvsdg::Node &node) noexcept
 
static rvsdg::Input & mapMemoryStateOutputToInput (const rvsdg::Output &output)
 
static rvsdg::Output & mapMemoryStateInputToOutput (const rvsdg::Input &input)
 
static rvsdg::Node::OutputIteratorRange memoryStateOutputs (const rvsdg::Node &node) noexcept
 

Protected Member Functions

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

Detailed Description

Abstract base class for memset operations.

See also
MemSetNonVolatileOperation

Definition at line 376 of file StdLibIntrinsicOperations.hpp.

Constructor & Destructor Documentation

◆ MemSetOperation()

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

Definition at line 379 of file StdLibIntrinsicOperations.hpp.

Member Function Documentation

◆ destinationInput()

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

Definition at line 425 of file StdLibIntrinsicOperations.hpp.

◆ lengthInput()

static rvsdg::Input & jlm::llvm::MemSetOperation::lengthInput ( const rvsdg::Node &  node)
inlinestaticnoexcept
Parameters
nodea SimpleNode containing a MemSetOperation
Returns
the input of node that points to the number of bytes that need to be filled.

Definition at line 451 of file StdLibIntrinsicOperations.hpp.

◆ lengthType()

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

Definition at line 406 of file StdLibIntrinsicOperations.hpp.

◆ mapMemoryStateInputToOutput()

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

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

Definition at line 485 of file StdLibIntrinsicOperations.hpp.

◆ mapMemoryStateOutputToInput()

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

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

Definition at line 465 of file StdLibIntrinsicOperations.hpp.

◆ memoryStateOutputs()

static rvsdg::Node::OutputIteratorRange jlm::llvm::MemSetOperation::memoryStateOutputs ( const rvsdg::Node &  node)
inlinestaticnoexcept

Returns a range over the memory state outputs of a MemSetOperation node.

Parameters
nodeA MemSetOperation node.
Returns
A range over the memory state outputs of node.
Precondition
node is expected to be a MemSetOperation node.

Definition at line 510 of file StdLibIntrinsicOperations.hpp.

◆ numMemoryStates()

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

Implemented in jlm::llvm::MemSetNonVolatileOperation.

◆ valueInput()

static rvsdg::Input & jlm::llvm::MemSetOperation::valueInput ( const rvsdg::Node &  node)
inlinestaticnoexcept
Parameters
nodea SimpleNode containing a MemSetOperation
Returns
the input of node that points to the byte value with which to fill the memory

Definition at line 438 of file StdLibIntrinsicOperations.hpp.


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