aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/NaCl/FlattenGlobals.cpp5
-rw-r--r--lib/Transforms/NaCl/GlobalCleanup.cpp7
2 files changed, 4 insertions, 8 deletions
diff --git a/lib/Transforms/NaCl/FlattenGlobals.cpp b/lib/Transforms/NaCl/FlattenGlobals.cpp
index 74ecda168e..11d4466235 100644
--- a/lib/Transforms/NaCl/FlattenGlobals.cpp
+++ b/lib/Transforms/NaCl/FlattenGlobals.cpp
@@ -286,8 +286,9 @@ bool FlattenGlobals::runOnModule(Module &M) {
NewGlobal->setAlignment(DL.getPrefTypeAlignment(GlobalType));
NewGlobal->setExternallyInitialized(Global->isExternallyInitialized());
NewGlobal->takeName(Global);
- Global->replaceAllUsesWith(
- ConstantExpr::getBitCast(NewGlobal, Global->getType()));
+ if (!Global->use_empty())
+ Global->replaceAllUsesWith(
+ ConstantExpr::getBitCast(NewGlobal, Global->getType()));
Global->eraseFromParent();
}
return Modified;
diff --git a/lib/Transforms/NaCl/GlobalCleanup.cpp b/lib/Transforms/NaCl/GlobalCleanup.cpp
index d3c58b400a..d489fefc1d 100644
--- a/lib/Transforms/NaCl/GlobalCleanup.cpp
+++ b/lib/Transforms/NaCl/GlobalCleanup.cpp
@@ -84,12 +84,7 @@ bool GlobalCleanup::runOnModule(Module &M) {
for (Module::global_iterator I = M.global_begin(), E = M.global_end();
I != E; ) {
GlobalVariable *GV = I++;
- if (GV->use_empty()) {
- GV->eraseFromParent();
- Modified = true;
- } else {
- Modified |= CleanUpLinkage(GV);
- }
+ Modified |= CleanUpLinkage(GV);
}
for (Module::iterator I = M.begin(), E = M.end(); I != E; ) {