diff options
author | Davide Italiano <davide@freebsd.org> | 2018-12-10 22:17:04 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2018-12-10 22:17:04 +0000 |
commit | 8ec7709f58a087449f68be0f4eec62251bacba97 (patch) | |
tree | 4c0c6b4c8cbd70789a89f9e7948c8ad78b54da1b /llvm/lib/Transforms/Utils | |
parent | 588232858edb8aa2aae4bf8246a6f5d7db598534 (diff) | |
download | bcm5719-llvm-8ec7709f58a087449f68be0f4eec62251bacba97.tar.gz bcm5719-llvm-8ec7709f58a087449f68be0f4eec62251bacba97.zip |
[Local] Promote an utility that could be used elsewhere. NFCI.
llvm-svn: 348804
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r-- | llvm/lib/Transforms/Utils/Local.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index d9e0c15dda3..2b7d7ad9d4d 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -476,6 +476,17 @@ void llvm::RecursivelyDeleteTriviallyDeadInstructions( } } +bool llvm::replaceDbgUsesWithUndef(Instruction *I) { + SmallVector<DbgVariableIntrinsic *, 1> DbgUsers; + findDbgUsers(DbgUsers, I); + for (auto *DII : DbgUsers) { + Value *Undef = UndefValue::get(I->getType()); + DII->setOperand(0, MetadataAsValue::get(DII->getContext(), + ValueAsMetadata::get(Undef))); + } + return !DbgUsers.empty(); +} + /// areAllUsesEqual - Check whether the uses of a value are all the same. /// This is similar to Instruction::hasOneUse() except this will also return /// true when there are no uses or multiple uses that all refer to the same |