summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2018-06-20 18:40:14 +0000
committerVedant Kumar <vsk@apple.com>2018-06-20 18:40:14 +0000
commit4e93f3dcf890eb443f980fe32c13fdd19988e42e (patch)
tree2abda6eca956f819f93c7e6c080f1999f37dc189 /llvm/lib/Transforms
parent74442061f27678bb13c47fce60a38d8975f42b5b (diff)
downloadbcm5719-llvm-4e93f3dcf890eb443f980fe32c13fdd19988e42e.tar.gz
bcm5719-llvm-4e93f3dcf890eb443f980fe32c13fdd19988e42e.zip
[Local] Generalize insertReplacementDbgValues, NFC
This utility should operate on Values, not Instructions. While I'm here, I've also made it possible to skip emitting replacement dbg.values for certain debug users (by having RewriteExpr return nullptr). llvm-svn: 335152
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Utils/Local.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp
index 7dd74a1aa40..a718276b222 100644
--- a/llvm/lib/Transforms/Utils/Local.cpp
+++ b/llvm/lib/Transforms/Utils/Local.cpp
@@ -1672,7 +1672,7 @@ void llvm::salvageDebugInfo(Instruction &I) {
}
void llvm::insertReplacementDbgValues(
- Instruction &From, Instruction &To, Instruction &InsertBefore,
+ Value &From, Value &To, Instruction &InsertBefore,
function_ref<DIExpression *(DbgInfoIntrinsic &OldDII)> RewriteExpr) {
// Collect all debug users of From.
SmallVector<DbgInfoIntrinsic *, 1> Users;
@@ -1682,11 +1682,11 @@ void llvm::insertReplacementDbgValues(
// Insert a replacement debug value for each old debug user. It's assumed
// that the old debug users will be erased later.
- DIBuilder DIB(*From.getModule());
+ DIBuilder DIB(*InsertBefore.getModule());
for (auto *OldDII : Users)
- DIB.insertDbgValueIntrinsic(&To, OldDII->getVariable(),
- RewriteExpr(*OldDII),
- OldDII->getDebugLoc().get(), &InsertBefore);
+ if (DIExpression *Expr = RewriteExpr(*OldDII))
+ DIB.insertDbgValueIntrinsic(&To, OldDII->getVariable(), Expr,
+ OldDII->getDebugLoc().get(), &InsertBefore);
}
unsigned llvm::removeAllNonTerminatorAndEHPadInstructions(BasicBlock *BB) {
OpenPOWER on IntegriCloud