[llvm] 285d46e - [Assignment Tracking][SROA] Follow-up for failing test

via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 28 04:16:52 PST 2022


Author: OCHyams
Date: 2022-11-28T12:16:37Z
New Revision: 285d46ef4b60c0919c00661199c1b010996cc2c1

URL: https://github.com/llvm/llvm-project/commit/285d46ef4b60c0919c00661199c1b010996cc2c1
DIFF: https://github.com/llvm/llvm-project/commit/285d46ef4b60c0919c00661199c1b010996cc2c1.diff

LOG: [Assignment Tracking][SROA] Follow-up for failing test

Follow-up for D133296 / e16d59973ffec77eeef73409570bdf04a69c2405

Buildbot example: https://lab.llvm.org/buildbot/#/builders/6/builds/16989

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/SROA.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/SROA.cpp b/llvm/lib/Transforms/Scalar/SROA.cpp
index fc56ea7217af..1158d78bdc90 100644
--- a/llvm/lib/Transforms/Scalar/SROA.cpp
+++ b/llvm/lib/Transforms/Scalar/SROA.cpp
@@ -141,6 +141,11 @@ static void migrateDebugInfo(AllocaInst *OldAlloca,
                              uint64_t SliceSizeInBytes, Instruction *OldInst,
                              Instruction *Inst, Value *Dest, Value *Value,
                              const DataLayout &DL) {
+  auto MarkerRange = at::getAssignmentMarkers(OldInst);
+  // Nothing to do if OldInst has no linked dbg.assign intrinsics.
+  if (MarkerRange.empty())
+    return;
+
   uint64_t RelativeOffset = bytesToBits(RelativeOffsetInBytes);
   uint64_t SliceSize = bytesToBits(SliceSizeInBytes);
 
@@ -162,8 +167,7 @@ static void migrateDebugInfo(AllocaInst *OldAlloca,
   DIBuilder DIB(*OldInst->getModule(), /*AllowUnresolved*/ false);
   uint64_t AllocaSize = *OldAlloca->getAllocationSizeInBits(DL);
   assert(OldAlloca->isStaticAlloca());
-
-  for (DbgAssignIntrinsic *DbgAssign : at::getAssignmentMarkers(OldInst)) {
+  for (DbgAssignIntrinsic *DbgAssign : MarkerRange) {
     LLVM_DEBUG(dbgs() << "      existing dbg.assign is: " << *DbgAssign
                       << "\n");
     auto *Expr = DbgAssign->getExpression();


        


More information about the llvm-commits mailing list