[llvm] 3824a2d - [MemoryBuiltins] Support allocas in getInitialValueOfAllocation (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 16 02:52:24 PDT 2025


Author: Nikita Popov
Date: 2025-06-16T11:52:16+02:00
New Revision: 3824a2dbcefe266849b9f8b3eaa1dd23354b15de

URL: https://github.com/llvm/llvm-project/commit/3824a2dbcefe266849b9f8b3eaa1dd23354b15de
DIFF: https://github.com/llvm/llvm-project/commit/3824a2dbcefe266849b9f8b3eaa1dd23354b15de.diff

LOG: [MemoryBuiltins] Support allocas in getInitialValueOfAllocation (NFC)

Added: 
    

Modified: 
    llvm/lib/Analysis/MemoryBuiltins.cpp
    llvm/lib/Transforms/IPO/Attributor.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/MemoryBuiltins.cpp b/llvm/lib/Analysis/MemoryBuiltins.cpp
index 6b7a3e1ffe347..e0b7f65d18a30 100644
--- a/llvm/lib/Analysis/MemoryBuiltins.cpp
+++ b/llvm/lib/Analysis/MemoryBuiltins.cpp
@@ -428,6 +428,9 @@ llvm::getAllocSize(const CallBase *CB, const TargetLibraryInfo *TLI,
 Constant *llvm::getInitialValueOfAllocation(const Value *V,
                                             const TargetLibraryInfo *TLI,
                                             Type *Ty) {
+  if (isa<AllocaInst>(V))
+    return UndefValue::get(Ty);
+
   auto *Alloc = dyn_cast<CallBase>(V);
   if (!Alloc)
     return nullptr;

diff  --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 050eed376ed3f..dac1f7a30c370 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -242,8 +242,6 @@ Constant *
 AA::getInitialValueForObj(Attributor &A, const AbstractAttribute &QueryingAA,
                           Value &Obj, Type &Ty, const TargetLibraryInfo *TLI,
                           const DataLayout &DL, AA::RangeTy *RangePtr) {
-  if (isa<AllocaInst>(Obj))
-    return UndefValue::get(&Ty);
   if (Constant *Init = getInitialValueOfAllocation(&Obj, TLI, &Ty))
     return Init;
   auto *GV = dyn_cast<GlobalVariable>(&Obj);


        


More information about the llvm-commits mailing list