summaryrefslogtreecommitdiff
path: root/test/gtest/lattices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/gtest/lattices.cpp')
-rw-r--r--test/gtest/lattices.cpp26
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()});
+}