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

#include <TestRvsdgs.hpp>

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

Public Member Functions

rvsdg::LambdaNodeGetLambdaF () const noexcept
 
rvsdg::LambdaNodeGetLambdaG () const noexcept
 
rvsdg::RegionArgumentGetImportH () const noexcept
 
rvsdg::SimpleNodeGetCallH () const noexcept
 
rvsdg::NodeGetAllocaNode () 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< llvm::LlvmRvsdgModuleSetupRvsdg () override
 Create RVSDG for this test. More...
 

Private Attributes

rvsdg::LambdaNodeLambdaF_ = {}
 
rvsdg::LambdaNodeLambdaG_ = {}
 
rvsdg::RegionArgumentImportH_ = {}
 
rvsdg::SimpleNodeCallH_ = {}
 
rvsdg::NodeAllocaNode_ = {}
 

Detailed Description

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

#include <stdint.h>
uint32_t* h(uint32_t, ...);
static void
f(uint32_t * i)
{
uint32_t* x = h(1, i);
*x = 3;
}
void
g()
{
uint32_t i = 5;
f(&i);
}

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

Definition at line 2440 of file TestRvsdgs.hpp.

Member Function Documentation

◆ GetAllocaNode()

rvsdg::Node& jlm::llvm::VariadicFunctionTest1::GetAllocaNode ( ) const
inlinenoexcept

Definition at line 2472 of file TestRvsdgs.hpp.

◆ GetCallH()

rvsdg::SimpleNode& jlm::llvm::VariadicFunctionTest1::GetCallH ( ) const
inlinenoexcept

Definition at line 2465 of file TestRvsdgs.hpp.

◆ GetImportH()

rvsdg::RegionArgument& jlm::llvm::VariadicFunctionTest1::GetImportH ( ) const
inlinenoexcept

Definition at line 2458 of file TestRvsdgs.hpp.

◆ GetLambdaF()

rvsdg::LambdaNode& jlm::llvm::VariadicFunctionTest1::GetLambdaF ( ) const
inlinenoexcept

Definition at line 2444 of file TestRvsdgs.hpp.

◆ GetLambdaG()

rvsdg::LambdaNode& jlm::llvm::VariadicFunctionTest1::GetLambdaG ( ) const
inlinenoexcept

Definition at line 2451 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 3934 of file TestRvsdgs.cpp.

Member Data Documentation

◆ AllocaNode_

rvsdg::Node* jlm::llvm::VariadicFunctionTest1::AllocaNode_ = {}
private

Definition at line 2489 of file TestRvsdgs.hpp.

◆ CallH_

rvsdg::SimpleNode* jlm::llvm::VariadicFunctionTest1::CallH_ = {}
private

Definition at line 2487 of file TestRvsdgs.hpp.

◆ ImportH_

rvsdg::RegionArgument* jlm::llvm::VariadicFunctionTest1::ImportH_ = {}
private

Definition at line 2485 of file TestRvsdgs.hpp.

◆ LambdaF_

rvsdg::LambdaNode* jlm::llvm::VariadicFunctionTest1::LambdaF_ = {}
private

Definition at line 2482 of file TestRvsdgs.hpp.

◆ LambdaG_

rvsdg::LambdaNode* jlm::llvm::VariadicFunctionTest1::LambdaG_ = {}
private

Definition at line 2483 of file TestRvsdgs.hpp.


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