summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/GlobalOpt.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-01-02 20:01:43 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-01-02 20:01:43 +0000
commit461c8e0a8cc4cb145a02d785440834975bb56947 (patch)
tree572f4a18dab81a5eee5e8701e9a63f1541d0dbe9 /llvm/lib/Transforms/IPO/GlobalOpt.cpp
parentda1deabb16a64edced99b502e4f20f7681e0110c (diff)
downloadbcm5719-llvm-461c8e0a8cc4cb145a02d785440834975bb56947.tar.gz
bcm5719-llvm-461c8e0a8cc4cb145a02d785440834975bb56947.zip
Delete unread globals through addrspacecast
llvm-svn: 198346
Diffstat (limited to 'llvm/lib/Transforms/IPO/GlobalOpt.cpp')
-rw-r--r--llvm/lib/Transforms/IPO/GlobalOpt.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index 40ebdea45bc..611d81063c4 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
@@ -297,8 +297,9 @@ static bool CleanupConstantGlobalUsers(Value *V, Constant *Init,
if (Init)
SubInit = ConstantFoldLoadThroughGEPConstantExpr(Init, CE);
Changed |= CleanupConstantGlobalUsers(CE, SubInit, TD, TLI);
- } else if (CE->getOpcode() == Instruction::BitCast &&
- CE->getType()->isPointerTy()) {
+ } else if ((CE->getOpcode() == Instruction::BitCast &&
+ CE->getType()->isPointerTy()) ||
+ CE->getOpcode() == Instruction::AddrSpaceCast) {
// Pointer cast, delete any stores and memsets to the global.
Changed |= CleanupConstantGlobalUsers(CE, 0, TD, TLI);
}
OpenPOWER on IntegriCloud