aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SSAUpdater.cpp
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-05-24 06:00:08 +0000
committerCameron Zwarich <zwarich@apple.com>2011-05-24 06:00:08 +0000
commit46e1ebf3676d300d9cad25e0aec15f2258c40b1b (patch)
tree82870cb224d038993911dd16aac63c78af3a5ae8 /llvm/lib/Transforms/Utils/SSAUpdater.cpp
parent3b1d1217f827c52a71786202968929e4017bc80f (diff)
downloadllvm-46e1ebf3676d300d9cad25e0aec15f2258c40b1b.zip
llvm-46e1ebf3676d300d9cad25e0aec15f2258c40b1b.tar.gz
llvm-46e1ebf3676d300d9cad25e0aec15f2258c40b1b.tar.bz2
Clean up the lazy initialization of DIBuilder a bit.
llvm-svn: 131956
Diffstat (limited to 'llvm/lib/Transforms/Utils/SSAUpdater.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SSAUpdater.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Utils/SSAUpdater.cpp b/llvm/lib/Transforms/Utils/SSAUpdater.cpp
index 09f0a50..b336194 100644
--- a/llvm/lib/Transforms/Utils/SSAUpdater.cpp
+++ b/llvm/lib/Transforms/Utils/SSAUpdater.cpp
@@ -358,7 +358,7 @@ Value *SSAUpdater::GetValueAtEndOfBlockInternal(BasicBlock *BB) {
LoadAndStorePromoter::
LoadAndStorePromoter(const SmallVectorImpl<Instruction*> &Insts,
- SSAUpdater &S, DbgDeclareInst *DD, DIBuilder *&DB,
+ SSAUpdater &S, DbgDeclareInst *DD, DIBuilder *DB,
StringRef BaseName) : SSA(S), DDI(DD), DIB(DB) {
if (Insts.empty()) return;
@@ -407,11 +407,8 @@ run(const SmallVectorImpl<Instruction*> &Insts) const {
if (BlockUses.size() == 1) {
// If it is a store, it is a trivial def of the value in the block.
if (StoreInst *SI = dyn_cast<StoreInst>(User)) {
- if (DDI) {
- if (!DIB)
- DIB = new DIBuilder(*SI->getParent()->getParent()->getParent());
+ if (DDI)
ConvertDebugDeclareToDebugValue(DDI, SI, *DIB);
- }
SSA.AddAvailableValue(BB, SI->getOperand(0));
} else
// Otherwise it is a load, queue it to rewrite as a live-in load.
@@ -466,11 +463,8 @@ run(const SmallVectorImpl<Instruction*> &Insts) const {
// If this is a store to an unrelated pointer, ignore it.
if (!isInstInList(SI, Insts)) continue;
- if (DDI) {
- if (!DIB)
- DIB = new DIBuilder(*SI->getParent()->getParent()->getParent());
+ if (DDI)
ConvertDebugDeclareToDebugValue(DDI, SI, *DIB);
- }
// Remember that this is the active value in the block.
StoredValue = SI->getOperand(0);