================
@@ -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