|
Jlm
|
IOBarrierTest class. More...
#include <TestRvsdgs.hpp>


Public Attributes | |
| jlm::rvsdg::LambdaNode * | lambda |
| jlm::rvsdg::SimpleNode * | barrier |
| jlm::rvsdg::SimpleNode * | add |
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 () |
IOBarrierTest class.
This class sets up an RVSDG representing the following function:
The barrier sequentializes the addition after the side-effect by routing the operand through it. The I/O state that carries the dependency is threaded through the lambda. Since this operation has no LLVM counterpart it is only defined by the RVSDG, so it needs a graph of its own.
Definition at line 292 of file TestRvsdgs.hpp.
|
overrideprivatevirtual |
Create RVSDG for this test.
Implements jlm::llvm::RvsdgTest.
Definition at line 403 of file TestRvsdgs.cpp.
| jlm::rvsdg::SimpleNode* jlm::mlir::IOBarrierTest::add |
Definition at line 303 of file TestRvsdgs.hpp.
| jlm::rvsdg::SimpleNode* jlm::mlir::IOBarrierTest::barrier |
Definition at line 301 of file TestRvsdgs.hpp.
| jlm::rvsdg::LambdaNode* jlm::mlir::IOBarrierTest::lambda |
Definition at line 299 of file TestRvsdgs.hpp.