|
Jlm
|
#include <gtest/gtest.h>#include <jlm/rvsdg/bitstring/constant.hpp>#include <jlm/rvsdg/gamma.hpp>#include <jlm/rvsdg/simple-node.hpp>#include <jlm/rvsdg/TestOperations.hpp>#include <jlm/rvsdg/TestType.hpp>#include <jlm/rvsdg/theta.hpp>#include <jlm/rvsdg/Trace.hpp>#include <jlm/rvsdg/view.hpp>
Go to the source code of this file.
Functions | |
| TEST (TraceTests, TestTraceOutputIntraProcedural_Gamma) | |
| TEST (TraceTests, TestTraceOutputIntraProcedural_Theta) | |
| TEST (TraceTests, TestTraceNestedStructuralNodes) | |
| TEST (TraceTests, TestIndirectLoopInvariantOutput) | |
| TEST (TraceTests, TestIndirectLoopInvariance) | |
| TEST (TraceTests, GammaCachingTest) | |
| TEST (TraceTests, ThetaCachingTest) | |
| TEST | ( | TraceTests | , |
| GammaCachingTest | |||
| ) |
Definition at line 330 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| TestIndirectLoopInvariance | |||
| ) |
Tests tracing through and out of theta nodes where a loop variable is not invariant, but takes its post value from an invariant loop variable, with whom it shares input.
Creates a graph with a single theta node that looks like
20 |\ | \ V V
+---------—+ | | V | | | USER1 | | |\ | | | \ | | V V | +---------—+ V USER2
Tracing from either USER1 and USER2 should lead to the constant integer 20, despite the loop variable not being directly invariant.
Definition at line 277 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| TestIndirectLoopInvariantOutput | |||
| ) |
Tests tracing through and out of theta nodes where a loop variable is not invariant, but takes its post value from an invariant loop variable. The two variables do not share input origin.
Creates a graph with a single theta node that looks like
20 40 | | | | V V
+---------—+ | | V | | | USER1 | | |\ | | | \ | | V V | +---------—+ V USER2
Tracing from USER1 should stop at the theta pre argument, while tracing from USER2 should lead to the constant 20.
Definition at line 219 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| TestTraceNestedStructuralNodes | |||
| ) |
Creates a graph with a gamma node inside a theta node, where some values are invariant.
Definition at line 117 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| TestTraceOutputIntraProcedural_Gamma | |||
| ) |
Tests tracing out of and through a single gamma node. One of the gamma's exit vars is trivially invariant, and can be traced through the gamma.
Definition at line 21 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| TestTraceOutputIntraProcedural_Theta | |||
| ) |
Tests tracing out of and through a single theta node.
Definition at line 75 of file TraceTests.cpp.
| TEST | ( | TraceTests | , |
| ThetaCachingTest | |||
| ) |
Definition at line 376 of file TraceTests.cpp.