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

ComparisonTest class. More...

#include <TestRvsdgs.hpp>

Inheritance diagram for jlm::mlir::ComparisonTest:
Inheritance graph
[legend]
Collaboration diagram for jlm::mlir::ComparisonTest:
Collaboration graph
[legend]

Public Attributes

jlm::rvsdg::LambdaNode * lambda
 
jlm::rvsdg::SimpleNode * fcmp
 
jlm::rvsdg::SimpleNode * ptrcmp
 

Private Member Functions

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

Additional Inherited Members

- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModule & module ()
 
const rvsdg::Graph & graph ()
 
void InitializeTest ()
 

Detailed Description

ComparisonTest class.

This class sets up an RVSDG representing the following function:

int32_t f(double a, double b, int32_t * x, int32_t * y)
{
int32_t p = (a < b) ? 1 : 0;
int32_t q = (x < y) ? 1 : 0;
return p, q; // two results
}

It combines a floating point comparison, a pointer comparison and the two selects that consume their results. Neither comparison is covered by any other roundtrip graph.

Definition at line 260 of file TestRvsdgs.hpp.

Member Function Documentation

◆ SetupRvsdg()

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

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 349 of file TestRvsdgs.cpp.

Member Data Documentation

◆ fcmp

jlm::rvsdg::SimpleNode* jlm::mlir::ComparisonTest::fcmp

Definition at line 269 of file TestRvsdgs.hpp.

◆ lambda

jlm::rvsdg::LambdaNode* jlm::mlir::ComparisonTest::lambda

Definition at line 267 of file TestRvsdgs.hpp.

◆ ptrcmp

jlm::rvsdg::SimpleNode* jlm::mlir::ComparisonTest::ptrcmp

Definition at line 271 of file TestRvsdgs.hpp.


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