aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-07-14 22:39:22 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-07-14 22:39:22 +0000
commitfd78d0c9349fbbc67f67f025bebfba3db0149caf (patch)
tree054f14968a4f0943360843408635f8802f032410 /llvm/lib/Analysis/ValueTracking.cpp
parent7746d9b033b8c80b511b4623b41e859d7b4301cf (diff)
downloadllvm-fd78d0c9349fbbc67f67f025bebfba3db0149caf.zip
llvm-fd78d0c9349fbbc67f67f025bebfba3db0149caf.tar.gz
llvm-fd78d0c9349fbbc67f67f025bebfba3db0149caf.tar.bz2
Look through addrspacecast in GetPointerBaseWithConstantOffset
llvm-svn: 212999
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 5264745..9e2deaa 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -1731,7 +1731,8 @@ Value *llvm::GetPointerBaseWithConstantOffset(Value *Ptr, int64_t &Offset,
}
Ptr = GEP->getPointerOperand();
- } else if (Operator::getOpcode(Ptr) == Instruction::BitCast) {
+ } else if (Operator::getOpcode(Ptr) == Instruction::BitCast ||
+ Operator::getOpcode(Ptr) == Instruction::AddrSpaceCast) {
Ptr = cast<Operator>(Ptr)->getOperand(0);
} else if (GlobalAlias *GA = dyn_cast<GlobalAlias>(Ptr)) {
if (GA->mayBeOverridden())