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

#include <TestRvsdgs.hpp>

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

Public Member Functions

const jlm::rvsdg::LambdaNodeLambda () const noexcept
 
const rvsdg::NodeAlloca () const noexcept
 
const rvsdg::NodeMemcpy () const noexcept
 
- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModulemodule ()
 
const rvsdg::Graphgraph ()
 
void InitializeTest ()
 

Private Member Functions

std::unique_ptr< jlm::llvm::LlvmRvsdgModuleSetupRvsdg () override
 Create RVSDG for this test. More...
 

Private Attributes

jlm::rvsdg::LambdaNodeLambda_ = {}
 
rvsdg::NodeAlloca_ = {}
 
rvsdg::NodeMemcpy_ = {}
 

Detailed Description

This class sets up an RVSDG representing the following code snippet:

#include <stdint.h>
#include <string.h>
typedef struct {
uint8_t * buf;
} myStruct;
void
f(myStruct * p)
{
myStruct s = *p;
memcpy(s.buf, s.buf - 5, 3);
}

Definition at line 2003 of file TestRvsdgs.hpp.

Member Function Documentation

◆ Alloca()

const rvsdg::Node& jlm::llvm::MemcpyTest3::Alloca ( ) const
inlinenoexcept

Definition at line 2014 of file TestRvsdgs.hpp.

◆ Lambda()

const jlm::rvsdg::LambdaNode& jlm::llvm::MemcpyTest3::Lambda ( ) const
inlinenoexcept

Definition at line 2007 of file TestRvsdgs.hpp.

◆ Memcpy()

const rvsdg::Node& jlm::llvm::MemcpyTest3::Memcpy ( ) const
inlinenoexcept

Definition at line 2021 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

std::unique_ptr< jlm::llvm::LlvmRvsdgModule > jlm::llvm::MemcpyTest3::SetupRvsdg ( )
overrideprivatevirtual

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 3442 of file TestRvsdgs.cpp.

Member Data Documentation

◆ Alloca_

rvsdg::Node* jlm::llvm::MemcpyTest3::Alloca_ = {}
private

Definition at line 2033 of file TestRvsdgs.hpp.

◆ Lambda_

jlm::rvsdg::LambdaNode* jlm::llvm::MemcpyTest3::Lambda_ = {}
private

Definition at line 2031 of file TestRvsdgs.hpp.

◆ Memcpy_

rvsdg::Node* jlm::llvm::MemcpyTest3::Memcpy_ = {}
private

Definition at line 2035 of file TestRvsdgs.hpp.


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