Jlm
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
jlm::llvm::AllMemoryNodesTest Class Referencefinal

RVSDG module with one of each memory node type. More...

#include <TestRvsdgs.hpp>

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

Public Member Functions

const jlm::rvsdg::DeltaNode & GetDeltaNode () const noexcept
 
const rvsdg::Output & GetDeltaOutput () const noexcept
 
const llvm::LlvmGraphImport & GetImportOutput () const noexcept
 
const jlm::rvsdg::LambdaNode & GetLambdaNode () const noexcept
 
const rvsdg::Output & GetLambdaOutput () const noexcept
 
const rvsdg::SimpleNode & GetAllocaNode () const noexcept
 
const jlm::rvsdg::Output & GetAllocaOutput () const noexcept
 
const rvsdg::SimpleNode & GetMallocNode () const noexcept
 
const jlm::rvsdg::Output & GetMallocOutput () const noexcept
 
- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModule & module ()
 
const rvsdg::Graph & graph ()
 
void InitializeTest ()
 

Private Member Functions

std::unique_ptr< jlm::llvm::LlvmRvsdgModule > SetupRvsdg () override
 Create RVSDG for this test.
 

Private Attributes

jlm::rvsdg::DeltaNode * Delta_ = {}
 
jlm::llvm::LlvmGraphImport * Import_ = {}
 
jlm::rvsdg::LambdaNode * Lambda_ = {}
 
rvsdg::SimpleNode * Alloca_ = {}
 
rvsdg::SimpleNode * Malloc_ = {}
 

Detailed Description

RVSDG module with one of each memory node type.

The class sets up an RVSDG module corresponding to the code:

int* global;
extern int imported;
void f()
{
int* alloca:
alloca = malloc(4);
*alloca = imported;
global = alloca;
}

It provides getters for all the memory node creating RVSDG nodes, and their outputs.

Definition at line 2110 of file TestRvsdgs.hpp.

Member Function Documentation

◆ GetAllocaNode()

const rvsdg::SimpleNode & jlm::llvm::AllMemoryNodesTest::GetAllocaNode ( ) const
inlinenoexcept

Definition at line 2149 of file TestRvsdgs.hpp.

◆ GetAllocaOutput()

const jlm::rvsdg::Output & jlm::llvm::AllMemoryNodesTest::GetAllocaOutput ( ) const
inlinenoexcept

Definition at line 2156 of file TestRvsdgs.hpp.

◆ GetDeltaNode()

const jlm::rvsdg::DeltaNode & jlm::llvm::AllMemoryNodesTest::GetDeltaNode ( ) const
inlinenoexcept

Definition at line 2114 of file TestRvsdgs.hpp.

◆ GetDeltaOutput()

const rvsdg::Output & jlm::llvm::AllMemoryNodesTest::GetDeltaOutput ( ) const
inlinenoexcept

Definition at line 2121 of file TestRvsdgs.hpp.

◆ GetImportOutput()

const llvm::LlvmGraphImport & jlm::llvm::AllMemoryNodesTest::GetImportOutput ( ) const
inlinenoexcept

Definition at line 2128 of file TestRvsdgs.hpp.

◆ GetLambdaNode()

const jlm::rvsdg::LambdaNode & jlm::llvm::AllMemoryNodesTest::GetLambdaNode ( ) const
inlinenoexcept

Definition at line 2135 of file TestRvsdgs.hpp.

◆ GetLambdaOutput()

const rvsdg::Output & jlm::llvm::AllMemoryNodesTest::GetLambdaOutput ( ) const
inlinenoexcept

Definition at line 2142 of file TestRvsdgs.hpp.

◆ GetMallocNode()

const rvsdg::SimpleNode & jlm::llvm::AllMemoryNodesTest::GetMallocNode ( ) const
inlinenoexcept

Definition at line 2163 of file TestRvsdgs.hpp.

◆ GetMallocOutput()

const jlm::rvsdg::Output & jlm::llvm::AllMemoryNodesTest::GetMallocOutput ( ) const
inlinenoexcept

Definition at line 2170 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 3569 of file TestRvsdgs.cpp.

Member Data Documentation

◆ Alloca_

rvsdg::SimpleNode* jlm::llvm::AllMemoryNodesTest::Alloca_ = {}
private

Definition at line 2186 of file TestRvsdgs.hpp.

◆ Delta_

jlm::rvsdg::DeltaNode* jlm::llvm::AllMemoryNodesTest::Delta_ = {}
private

Definition at line 2180 of file TestRvsdgs.hpp.

◆ Import_

jlm::llvm::LlvmGraphImport* jlm::llvm::AllMemoryNodesTest::Import_ = {}
private

Definition at line 2182 of file TestRvsdgs.hpp.

◆ Lambda_

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

Definition at line 2184 of file TestRvsdgs.hpp.

◆ Malloc_

rvsdg::SimpleNode* jlm::llvm::AllMemoryNodesTest::Malloc_ = {}
private

Definition at line 2188 of file TestRvsdgs.hpp.


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