|
Jlm
|
#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>
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) | |
| 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 | ( | NodeHoistingTests | , |
| invariantMemoryOperation | |||
| ) |
Definition at line 237 of file PushTests.cpp.
| TEST | ( | NodeHoistingTests | , |
| nestedGamma | |||
| ) |
Definition at line 89 of file PushTests.cpp.
| TEST | ( | NodeHoistingTests | , |
| simpleGamma | |||
| ) |
Definition at line 25 of file PushTests.cpp.
| TEST | ( | NodeHoistingTests | , |
| simpleTheta | |||
| ) |
Definition at line 169 of file PushTests.cpp.
| TEST | ( | NodeHoistingTests | , |
| statefulOperations | |||
| ) |
Definition at line 291 of file PushTests.cpp.