================
@@ -1951,5 +1980,32 @@ TEST_F(LifetimeAnalysisTest, 
LambdaInitCaptureViewByValue) {
   )");
   EXPECT_THAT(Origin("lambda"), HasLoansTo({"obj"}, "after_lambda"));
 }
+
+// ========================================================================= //
+//                    Tests for trackAssignmentHistory
+// ========================================================================= //
+
+TEST_F(LifetimeAnalysisTest, TrackLinearAssignmentHistoryInOneBlock) {
+  SetupTest(R"(
+    void target() {
+      int *s;
+      {
+        int tgt = 2;
+        int *a = &tgt;
+        int *c = a;
+        int *b = a;
+        int *e = b;
+        s = e;
+      }
+      (void)s;
+      POINT(after_use);
+    }
+  )");
+
+  llvm::SmallVector<AssignmentUnit> AssignmentList;
+  Helper->trackAssignmentHistoryInOneBlock(AssignmentList, "s", "tgt");
+
+  EXPECT_EQ(8u, AssignmentList.size());
----------------
usx95 wrote:

maybe add as a comment describing the 8 origins. Is it something like (s, e, b, 
a)x2 ?

https://github.com/llvm/llvm-project/pull/196075
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to