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

#include <operators.hpp>

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

Public Member Functions

 ~MallocOperation () noexcept override
 
 MallocOperation (std::shared_ptr< const rvsdg::BitType > type)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
const rvsdg::BitTypegetSizeType () const noexcept
 
rvsdg::FunctionType getFunctionType () 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 rvsdg::InputsizeInput (const rvsdg::Node &node)
 
static rvsdg::InputioStateInput (const rvsdg::Node &node)
 
static rvsdg::OutputaddressOutput (const rvsdg::Node &node)
 
static rvsdg::OutputioStateOutput (const rvsdg::Node &node)
 
static rvsdg::OutputmemoryStateOutput (const rvsdg::Node &node)
 
static std::unique_ptr< ThreeAddressCodecreateTac (const Variable *size, const Variable *ioState)
 
static rvsdg::SimpleNodecreateNode (rvsdg::Output &size, rvsdg::Output &ioState)
 

Static Private Member Functions

static std::shared_ptr< const rvsdg::BitTypecheckAndExtractSizeType (const std::shared_ptr< const rvsdg::Type > &type)
 

Detailed Description

Represents the standard C library call malloc() used for dynamically allocating memory.

This operation has no equivalent LLVM instruction.

Definition at line 2402 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~MallocOperation()

jlm::llvm::MallocOperation::~MallocOperation ( )
overridedefaultnoexcept

◆ MallocOperation()

jlm::llvm::MallocOperation::MallocOperation ( std::shared_ptr< const rvsdg::BitType type)
inlineexplicit

Definition at line 2407 of file operators.hpp.

Member Function Documentation

◆ addressOutput()

static rvsdg::Output& jlm::llvm::MallocOperation::addressOutput ( const rvsdg::Node node)
inlinestatic

Definition at line 2454 of file operators.hpp.

◆ checkAndExtractSizeType()

static std::shared_ptr<const rvsdg::BitType> jlm::llvm::MallocOperation::checkAndExtractSizeType ( const std::shared_ptr< const rvsdg::Type > &  type)
inlinestaticprivate

Definition at line 2497 of file operators.hpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 1103 of file operators.cpp.

◆ createNode()

static rvsdg::SimpleNode& jlm::llvm::MallocOperation::createNode ( rvsdg::Output size,
rvsdg::Output ioState 
)
inlinestatic

Definition at line 2489 of file operators.hpp.

◆ createTac()

static std::unique_ptr<ThreeAddressCode> jlm::llvm::MallocOperation::createTac ( const Variable size,
const Variable ioState 
)
inlinestatic

Definition at line 2481 of file operators.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 1097 of file operators.cpp.

◆ getFunctionType()

rvsdg::FunctionType jlm::llvm::MallocOperation::getFunctionType ( ) const
inline

Definition at line 2429 of file operators.hpp.

◆ getSizeType()

const rvsdg::BitType& jlm::llvm::MallocOperation::getSizeType ( ) const
inlinenoexcept

Definition at line 2423 of file operators.hpp.

◆ ioStateInput()

static rvsdg::Input& jlm::llvm::MallocOperation::ioStateInput ( const rvsdg::Node node)
inlinestatic

Definition at line 2445 of file operators.hpp.

◆ ioStateOutput()

static rvsdg::Output& jlm::llvm::MallocOperation::ioStateOutput ( const rvsdg::Node node)
inlinestatic

Definition at line 2463 of file operators.hpp.

◆ memoryStateOutput()

static rvsdg::Output& jlm::llvm::MallocOperation::memoryStateOutput ( const rvsdg::Node node)
inlinestatic

Definition at line 2472 of file operators.hpp.

◆ operator==()

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

Definition at line 1090 of file operators.cpp.

◆ sizeInput()

static rvsdg::Input& jlm::llvm::MallocOperation::sizeInput ( const rvsdg::Node node)
inlinestatic

Definition at line 2436 of file operators.hpp.


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