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

GammaTest class. More...

#include <TestRvsdgs.hpp>

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

Public Attributes

jlm::rvsdg::LambdaNodelambda
 
rvsdg::GammaNodegamma
 

Private Member Functions

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

Additional Inherited Members

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

Detailed Description

GammaTest class.

This function sets up an RVSDG representing the following function:

uint32_t f(uint32_t c, uint32_t * p1, uint32_t * p2, uint32_t * p3, uint32_t * p4)
{
uint32_t * tmp1, * tmp2;
if (c == 0) {
tmp1 = p1;
tmp2 = p2;
} else {
tmp1 = p3;
tmp2 = p4;
}
return *tmp1 + *tmp2;
}

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

Definition at line 960 of file TestRvsdgs.hpp.

Member Function Documentation

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 1397 of file TestRvsdgs.cpp.

Member Data Documentation

◆ gamma

rvsdg::GammaNode* jlm::llvm::GammaTest::gamma

Definition at line 969 of file TestRvsdgs.hpp.

◆ lambda

jlm::rvsdg::LambdaNode* jlm::llvm::GammaTest::lambda

Definition at line 967 of file TestRvsdgs.hpp.


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