[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