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

CallTest2 class. More...

#include <TestRvsdgs.hpp>

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

Public Member Functions

const rvsdg::SimpleNodeCallCreate1 () const noexcept
 
const rvsdg::SimpleNodeCallCreate2 () const noexcept
 
const rvsdg::SimpleNodeCallDestroy1 () const noexcept
 
const rvsdg::SimpleNodeCallDestroy2 () const noexcept
 
- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModulemodule ()
 
const rvsdg::Graphgraph ()
 
void InitializeTest ()
 

Public Attributes

jlm::rvsdg::LambdaNodelambda_create
 
jlm::rvsdg::LambdaNodelambda_destroy
 
jlm::rvsdg::LambdaNodelambda_test
 
rvsdg::SimpleNodemalloc
 
rvsdg::SimpleNodefree
 

Private Member Functions

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

Private Attributes

rvsdg::SimpleNodeCallCreate1_ {}
 
rvsdg::SimpleNodeCallCreate2_ {}
 
rvsdg::SimpleNodeCallDestroy1_ {}
 
rvsdg::SimpleNodeCallDestroy2_ {}
 

Detailed Description

CallTest2 class.

This function sets up an RVSDG representing the following function:

static uint32_t *
create(size_t n)
{
return (uint32_t*)malloc(n * sizeof(uint32_t));
}
static void
destroy(uint32_t * p)
{
free(p);
}
void
test()
{
uint32_t * p1 = create(6);
uint32_t * p2 = create(7);
destroy(p1);
destroy(p2);
}
rvsdg::SimpleNode * free
Definition: TestRvsdgs.hpp:519
rvsdg::SimpleNode * malloc
Definition: TestRvsdgs.hpp:518

It uses a single memory state to sequentialize the respective memory operations within each function.

Definition at line 487 of file TestRvsdgs.hpp.

Member Function Documentation

◆ CallCreate1()

const rvsdg::SimpleNode& jlm::llvm::CallTest2::CallCreate1 ( ) const
inlinenoexcept

Definition at line 491 of file TestRvsdgs.hpp.

◆ CallCreate2()

const rvsdg::SimpleNode& jlm::llvm::CallTest2::CallCreate2 ( ) const
inlinenoexcept

Definition at line 497 of file TestRvsdgs.hpp.

◆ CallDestroy1()

const rvsdg::SimpleNode& jlm::llvm::CallTest2::CallDestroy1 ( ) const
inlinenoexcept

Definition at line 503 of file TestRvsdgs.hpp.

◆ CallDestroy2()

const rvsdg::SimpleNode& jlm::llvm::CallTest2::CallDestroy2 ( ) const
inlinenoexcept

Definition at line 509 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 647 of file TestRvsdgs.cpp.

Member Data Documentation

◆ CallCreate1_

rvsdg::SimpleNode* jlm::llvm::CallTest2::CallCreate1_ {}
private

Definition at line 525 of file TestRvsdgs.hpp.

◆ CallCreate2_

rvsdg::SimpleNode* jlm::llvm::CallTest2::CallCreate2_ {}
private

Definition at line 526 of file TestRvsdgs.hpp.

◆ CallDestroy1_

rvsdg::SimpleNode* jlm::llvm::CallTest2::CallDestroy1_ {}
private

Definition at line 528 of file TestRvsdgs.hpp.

◆ CallDestroy2_

rvsdg::SimpleNode* jlm::llvm::CallTest2::CallDestroy2_ {}
private

Definition at line 529 of file TestRvsdgs.hpp.

◆ free

rvsdg::SimpleNode* jlm::llvm::CallTest2::free

Definition at line 519 of file TestRvsdgs.hpp.

◆ lambda_create

jlm::rvsdg::LambdaNode* jlm::llvm::CallTest2::lambda_create

Definition at line 514 of file TestRvsdgs.hpp.

◆ lambda_destroy

jlm::rvsdg::LambdaNode* jlm::llvm::CallTest2::lambda_destroy

Definition at line 515 of file TestRvsdgs.hpp.

◆ lambda_test

jlm::rvsdg::LambdaNode* jlm::llvm::CallTest2::lambda_test

Definition at line 516 of file TestRvsdgs.hpp.

◆ malloc

rvsdg::SimpleNode* jlm::llvm::CallTest2::malloc

Definition at line 518 of file TestRvsdgs.hpp.


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