[llvm] [LoopUnroll] Remove redundant llvm.dbg instructions after blocks (PR #89069)

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 17 23:34:49 PDT 2024


https://github.com/coderchenlin updated https://github.com/llvm/llvm-project/pull/89069

>From 5bd126f6cca66af004a4bf74a8716dac4795e6f5 Mon Sep 17 00:00:00 2001
From: coderchenlin <chenlin048830 at gmail.com>
Date: Wed, 17 Apr 2024 21:01:52 +0800
Subject: [PATCH] [LoopUnroll] Remove redundant llvm.dbg instructions after
 blocks merged. (#89073)

---
 llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
index 5aa59acfa6df99..cbf66ce2796db8 100644
--- a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
+++ b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
@@ -333,6 +333,10 @@ bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU,
   // Finally, erase the old block and update dominator info.
   DeleteDeadBlock(BB, DTU);
 
+  // Remove redundant "llvm.dbg" instrunctions after blocks merged.
+  if (PredBB->getParent()->getSubprogram())
+    RemoveRedundantDbgInstrs(PredBB);
+
   return true;
 }
 



More information about the llvm-commits mailing list