[llvm] 3d52b1e - Revert "[InstCombine] Drop debug loc in TryToSinkInstruction (reland)"

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 15:29:14 PDT 2020


Author: Vedant Kumar
Date: 2020-07-13T15:17:07-07:00
New Revision: 3d52b1e81b7b3891d9132d826d4889119fad7d00

URL: https://github.com/llvm/llvm-project/commit/3d52b1e81b7b3891d9132d826d4889119fad7d00
DIFF: https://github.com/llvm/llvm-project/commit/3d52b1e81b7b3891d9132d826d4889119fad7d00.diff

LOG: Revert "[InstCombine] Drop debug loc in TryToSinkInstruction (reland)"

This reverts commit 9649c2095f07a392bc2b2a93b5bd6c4c9bf5ba34. See
discussion on the llvm-commits thread: if it's OK to preserve the
location when sinking a call, it's probably OK to always preserve the
location.

Added: 
    

Modified: 
    llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

Removed: 
    llvm/test/Transforms/InstCombine/sink_to_unreachable_dbg.ll


################################################################################
diff  --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index d1c1e5418825..ec934906355d 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -3356,12 +3356,6 @@ static bool TryToSinkInstruction(Instruction *I, BasicBlock *DestBlock) {
   I->moveBefore(&*InsertPos);
   ++NumSunkInst;
 
-  // Drop the debug loc of non-inlinable instructions. This prevents
-  // single-stepping from going backwards. See HowToUpdateDebugInfo.rst for
-  // the full rationale.
-  if (!isa<CallBase>(I))
-    I->setDebugLoc(DebugLoc());
-
   // Also sink all related debug uses from the source basic block. Otherwise we
   // get debug use before the def. Attempt to salvage debug uses first, to
   // maximise the range variables have location for. If we cannot salvage, then

diff  --git a/llvm/test/Transforms/InstCombine/sink_to_unreachable_dbg.ll b/llvm/test/Transforms/InstCombine/sink_to_unreachable_dbg.ll
deleted file mode 100644
index e642276224b8..000000000000
--- a/llvm/test/Transforms/InstCombine/sink_to_unreachable_dbg.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; RUN: opt -debugify -debugify-level=locations -instcombine -S < %s | FileCheck %s
-
-; CHECK-LABEL: @test1(
-; CHECK: [[phi:%.*]] = phi i32
-; CHECK-NEXT: [[add:%.*]] = add i32 {{.*}}, 1{{$}}
-; CHECK-NEXT: add i32 [[phi]], [[add]], !dbg
-define i32 @test1(i32 %0, i1 %1) {
-  %3 = add i32 %0, 1
-  br i1 %1, label %4, label %5
-
-4:                                                ; preds = %2
-  br label %6
-
-5:                                                ; preds = %2
-  br label %6
-
-6:                                                ; preds = %5, %4
-  %7 = phi i32 [ 0, %4 ], [ 1, %5 ]
-  %8 = add i32 %7, %3
-  ret i32 %8
-}
-
-; Function Attrs: nounwind readnone
-declare i32 @external(i32) #0
-
-; CHECK-LABEL: @test2(
-; CHECK: [[phi:%.*]] = phi i32
-; CHECK-NEXT: [[add:%.*]] = call i32 @external(i32 {{.*}}), !dbg
-; CHECK-NEXT: add i32 [[phi]], [[add]], !dbg
-define i32 @test2(i32 %0, i1 %1) {
-  %3 = call i32 @external(i32 %0)
-  br i1 %1, label %4, label %5
-
-4:                                                ; preds = %2
-  br label %6
-
-5:                                                ; preds = %2
-  br label %6
-
-6:                                                ; preds = %5, %4
-  %7 = phi i32 [ 0, %4 ], [ 1, %5 ]
-  %8 = add i32 %7, %3
-  ret i32 %8
-}
-
-attributes #0 = { nounwind readnone }


        


More information about the llvm-commits mailing list