From 88ea86c369f3faecfd20db27d5e7b3424051f976 Mon Sep 17 00:00:00 2001 From: Johannes Doerfert Date: Thu, 17 Mar 2022 17:37:15 -0500 Subject: [PATCH] [Attributor][FIX] Remove reference into map that might dangle The reference was taken and the map was modified after. This can (and did) lead to dangling pointers and all sorts of problems afterwards. --- llvm/lib/Transforms/IPO/AttributorAttributes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp index e9257ad..a2d5009 100644 --- a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp +++ b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp @@ -1344,7 +1344,7 @@ struct AAPointerInfoFloating : public AAPointerInfoImpl { DenseMap OffsetInfoMap; OffsetInfoMap[&AssociatedValue] = OffsetInfo{0}; - auto HandlePassthroughUser = [&](Value *Usr, OffsetInfo &PtrOI, + auto HandlePassthroughUser = [&](Value *Usr, OffsetInfo PtrOI, bool &Follow) { OffsetInfo &UsrOI = OffsetInfoMap[Usr]; UsrOI = PtrOI; -- 2.7.4