Jlm
Loading...
Searching...
No Matches
Functions
PushTests.cpp File Reference
#include <gtest/gtest.h>
#include <jlm/llvm/ir/operators/IntegerOperations.hpp>
#include <jlm/llvm/ir/operators/lambda.hpp>
#include <jlm/llvm/ir/operators/Load.hpp>
#include <jlm/llvm/ir/operators/operators.hpp>
#include <jlm/llvm/ir/operators/Store.hpp>
#include <jlm/llvm/ir/RvsdgModule.hpp>
#include <jlm/llvm/ir/types.hpp>
#include <jlm/llvm/opt/push.hpp>
#include <jlm/rvsdg/bitstring/type.hpp>
#include <jlm/rvsdg/gamma.hpp>
#include <jlm/rvsdg/lambda.hpp>
#include <jlm/rvsdg/TestOperations.hpp>
#include <jlm/rvsdg/TestType.hpp>
#include <jlm/rvsdg/theta.hpp>
#include <jlm/rvsdg/view.hpp>
#include <jlm/util/Statistics.hpp>
Include dependency graph for PushTests.cpp:

Go to the source code of this file.

Functions

 TEST (NodeHoistingTests, simpleGamma)
 
 TEST (NodeHoistingTests, nestedGamma)
 
 TEST (NodeHoistingTests, simpleTheta)
 
 TEST (NodeHoistingTests, invariantMemoryOperation)
 
 TEST (NodeHoistingTests, statefulOperations)
 
 TEST (NodeHoistingTests, controlConstants)
 

Function Documentation

◆ TEST() [1/6]

TEST ( NodeHoistingTests  ,
controlConstants   
)

Creates an RVSDG that looks like

+-lambda--------------------—x-x-+ | undef | | | | v | | | | +-theta--—x-----—+ | | | | | | | | | | | Ctrl(0) Ctrl(1) | | | | | | v v | | | | | +—x----—x-----—+ | | | | v | | | | +-gamma1-—+--------—+ | | | | | | | | | | | | Ctrl(1) | Ctrl(0) | | | | | | v | v | | | | | +-—x---—+--—x--—+ | | | | v | | | | +-gamma2-—+--------—+ | | | | | | | | | | | | Int32(3) | Int32(7) | | | | | | v | v | | | | | +-—x---—+--—x--—+ | | | | v v v | +---—x--------------------—x-x-+

and checks that none of the control constants are moved by the node hoisting pass.

Definition at line 368 of file PushTests.cpp.

◆ TEST() [2/6]

TEST ( NodeHoistingTests  ,
invariantMemoryOperation   
)

Definition at line 237 of file PushTests.cpp.

◆ TEST() [3/6]

TEST ( NodeHoistingTests  ,
nestedGamma   
)

Definition at line 89 of file PushTests.cpp.

◆ TEST() [4/6]

TEST ( NodeHoistingTests  ,
simpleGamma   
)

Definition at line 25 of file PushTests.cpp.

◆ TEST() [5/6]

TEST ( NodeHoistingTests  ,
simpleTheta   
)

Definition at line 169 of file PushTests.cpp.

◆ TEST() [6/6]

TEST ( NodeHoistingTests  ,
statefulOperations   
)

Definition at line 291 of file PushTests.cpp.