diff options
Diffstat (limited to 'test/gtest/lattices.cpp')
-rw-r--r-- | test/gtest/lattices.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/gtest/lattices.cpp b/test/gtest/lattices.cpp index 49288fe85..ed4f48e38 100644 --- a/test/gtest/lattices.cpp +++ b/test/gtest/lattices.cpp @@ -21,6 +21,7 @@ #include "analysis/lattices/inverted.h" #include "analysis/lattices/lift.h" #include "analysis/lattices/shared.h" +#include "analysis/lattices/stack.h" #include "analysis/lattices/tuple.h" #include "analysis/lattices/valtype.h" #include "analysis/lattices/vector.h" @@ -654,3 +655,28 @@ TEST(SharedLattice, Join) { EXPECT_EQ(elem, two); } } + +TEST(StackLattice, GetBottom) { + analysis::Stack stack{analysis::Flat<uint32_t>{}}; + EXPECT_EQ(stack.getBottom().size(), 0u); +} + +TEST(StackLattice, Compare) { + analysis::Stack stack{analysis::Flat<uint32_t>{}}; + auto& flat = stack.lattice; + testDiamondCompare(stack, + {}, + {flat.get(0)}, + {flat.get(0), flat.get(1)}, + {flat.get(0), flat.getTop()}); +} + +TEST(StackLattice, Join) { + analysis::Stack stack{analysis::Flat<uint32_t>{}}; + auto& flat = stack.lattice; + testDiamondJoin(stack, + {}, + {flat.get(0)}, + {flat.get(0), flat.get(1)}, + {flat.get(0), flat.getTop()}); +} |