[Local] Add a convenient insertReplacementDbgValues overload, NFC
Add an overload for the common case where the replacement dbg.values
have the same DIExpressions as the originals.
llvm-svn: 335643
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp
index 756b60b..6264724 100644
--- a/llvm/lib/Transforms/Utils/Local.cpp
+++ b/llvm/lib/Transforms/Utils/Local.cpp
@@ -1717,9 +1717,19 @@
// that the old debug users will be erased later.
DIBuilder DIB(*InsertBefore.getModule());
for (auto *OldDII : Users)
- if (DIExpression *Expr = RewriteExpr(*OldDII))
- DIB.insertDbgValueIntrinsic(&To, OldDII->getVariable(), Expr,
- OldDII->getDebugLoc().get(), &InsertBefore);
+ if (DIExpression *Expr = RewriteExpr(*OldDII)) {
+ auto *I = DIB.insertDbgValueIntrinsic(&To, OldDII->getVariable(), Expr,
+ OldDII->getDebugLoc().get(),
+ &InsertBefore);
+ LLVM_DEBUG(dbgs() << "REPLACE: " << *I << '\n');
+ }
+}
+
+void llvm::insertReplacementDbgValues(Value &From, Value &To,
+ Instruction &InsertBefore) {
+ return llvm::insertReplacementDbgValues(
+ From, To, InsertBefore,
+ [](DbgInfoIntrinsic &OldDII) { return OldDII.getExpression(); });
}
unsigned llvm::removeAllNonTerminatorAndEHPadInstructions(BasicBlock *BB) {