[llvm] [Attributor][FIX] Track returned pointer offsets (PR #110534)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 30 11:38:19 PDT 2024


================
@@ -1946,9 +1932,10 @@ ChangeStatus AAPointerInfoFloating::updateImpl(Attributor &A) {
             *this, IRPosition::callsite_returned(*CB), DepClassTy::REQUIRED);
         if (!CSRetPI)
           return false;
-        Changed = translateAndAddState(A, *CSRetPI, OffsetInfoMap[CurPtr], *CB,
-                                       IsRetMustAcc) |
-                  Changed;
+        OffsetInfo OI = OffsetInfoMap[CurPtr];
+        CSArgPI->addReturnedOffsets(OI);
----------------
shiltian wrote:

I'm not sure if this could lead to "undefined behavior" because here you modify an AA X in AA Y but here you only track the change status of AA Y.

https://github.com/llvm/llvm-project/pull/110534


More information about the llvm-commits mailing list