diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-01-02 20:01:43 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-01-02 20:01:43 +0000 |
commit | 461c8e0a8cc4cb145a02d785440834975bb56947 (patch) | |
tree | 572f4a18dab81a5eee5e8701e9a63f1541d0dbe9 /llvm/lib/Transforms/IPO/GlobalOpt.cpp | |
parent | da1deabb16a64edced99b502e4f20f7681e0110c (diff) | |
download | bcm5719-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.cpp | 5 |
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); } |