aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ConstantFolding.cpp
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2016-01-22 03:08:27 +0000
committerEduard Burtescu <edy.burt@gmail.com>2016-01-22 03:08:27 +0000
commit68e7f49f8e2c9e775e8fcbda3bdf4daeed11708b (patch)
treef25cfd38637e77ebeeafcbd382557218f7682168 /llvm/lib/Analysis/ConstantFolding.cpp
parente2a69178493c02eaabab69a418b39746e17b5978 (diff)
downloadllvm-68e7f49f8e2c9e775e8fcbda3bdf4daeed11708b.zip
llvm-68e7f49f8e2c9e775e8fcbda3bdf4daeed11708b.tar.gz
llvm-68e7f49f8e2c9e775e8fcbda3bdf4daeed11708b.tar.bz2
[opaque pointer types] [NFC] DataLayout::getIndexedOffset: take source element type instead of pointer type and rename to getIndexedOffsetInType.
Summary: Reviewers: mjacob, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16282 llvm-svn: 258478
Diffstat (limited to 'llvm/lib/Analysis/ConstantFolding.cpp')
-rw-r--r--llvm/lib/Analysis/ConstantFolding.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp
index 54dd0d5..a23fb75 100644
--- a/llvm/lib/Analysis/ConstantFolding.cpp
+++ b/llvm/lib/Analysis/ConstantFolding.cpp
@@ -772,8 +772,8 @@ static Constant *SymbolicallyEvaluateGEP(const GEPOperator *GEP,
unsigned BitWidth = DL.getTypeSizeInBits(IntPtrTy);
APInt Offset =
APInt(BitWidth,
- DL.getIndexedOffset(
- Ptr->getType(),
+ DL.getIndexedOffsetInType(
+ SrcElemTy,
makeArrayRef((Value * const *)Ops.data() + 1, Ops.size() - 1)));
Ptr = StripPtrCastKeepAS(Ptr, SrcElemTy);
@@ -792,7 +792,8 @@ static Constant *SymbolicallyEvaluateGEP(const GEPOperator *GEP,
break;
Ptr = cast<Constant>(GEP->getOperand(0));
- Offset += APInt(BitWidth, DL.getIndexedOffset(Ptr->getType(), NestedOps));
+ SrcElemTy = GEP->getSourceElementType();
+ Offset += APInt(BitWidth, DL.getIndexedOffsetInType(SrcElemTy, NestedOps));
Ptr = StripPtrCastKeepAS(Ptr, SrcElemTy);
}