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

RVSDG module with an arbitrary amount of alloca nodes. More...

#include <TestRvsdgs.hpp>

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

Public Member Functions

 NAllocaNodesTest (size_t numAllocaNodes)
 
size_t GetNumAllocaNodes () const noexcept
 
const rvsdg::SimpleNodeGetAllocaNode (size_t index) const noexcept
 
const jlm::rvsdg::OutputGetAllocaOutput (size_t index) const noexcept
 
const jlm::rvsdg::LambdaNodeGetFunction () 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

size_t NumAllocaNodes_
 
std::vector< const rvsdg::SimpleNode * > AllocaNodes_ = {}
 
jlm::rvsdg::LambdaNodeFunction_ {}
 

Detailed Description

RVSDG module with an arbitrary amount of alloca nodes.

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

void f()
{
uint32_t a;
uint32_t b;
uint32_t c;
...
}

It provides getters for the alloca nodes themselves, and for their outputs.

Definition at line 2207 of file TestRvsdgs.hpp.

Constructor & Destructor Documentation

◆ NAllocaNodesTest()

jlm::llvm::NAllocaNodesTest::NAllocaNodesTest ( size_t  numAllocaNodes)
inlineexplicit

Definition at line 2210 of file TestRvsdgs.hpp.

Member Function Documentation

◆ GetAllocaNode()

const rvsdg::SimpleNode& jlm::llvm::NAllocaNodesTest::GetAllocaNode ( size_t  index) const
inlinenoexcept

Definition at line 2221 of file TestRvsdgs.hpp.

◆ GetAllocaOutput()

const jlm::rvsdg::Output& jlm::llvm::NAllocaNodesTest::GetAllocaOutput ( size_t  index) const
inlinenoexcept

Definition at line 2228 of file TestRvsdgs.hpp.

◆ GetFunction()

const jlm::rvsdg::LambdaNode& jlm::llvm::NAllocaNodesTest::GetFunction ( ) const
inlinenoexcept

Definition at line 2235 of file TestRvsdgs.hpp.

◆ GetNumAllocaNodes()

size_t jlm::llvm::NAllocaNodesTest::GetNumAllocaNodes ( ) const
inlinenoexcept

Definition at line 2215 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 3688 of file TestRvsdgs.cpp.

Member Data Documentation

◆ AllocaNodes_

std::vector<const rvsdg::SimpleNode *> jlm::llvm::NAllocaNodesTest::AllocaNodes_ = {}
private

Definition at line 2247 of file TestRvsdgs.hpp.

◆ Function_

jlm::rvsdg::LambdaNode* jlm::llvm::NAllocaNodesTest::Function_ {}
private

Definition at line 2249 of file TestRvsdgs.hpp.

◆ NumAllocaNodes_

size_t jlm::llvm::NAllocaNodesTest::NumAllocaNodes_
private

Definition at line 2245 of file TestRvsdgs.hpp.


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