summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJohannes Doerfert <jdoerfert@anl.gov>2019-08-12 22:21:09 +0000
committerJohannes Doerfert <jdoerfert@anl.gov>2019-08-12 22:21:09 +0000
commit26e58466de615adb36c79a4212287e9e8a4ac303 (patch)
tree3d72c274aa6be360b3075cb98faa0995c2ba0823 /llvm/lib
parenta7165c088e11a9b244d9efde95291fa79692e2c9 (diff)
downloadbcm5719-llvm-26e58466de615adb36c79a4212287e9e8a4ac303.tar.gz
bcm5719-llvm-26e58466de615adb36c79a4212287e9e8a4ac303.zip
[Attributor] Use the cached data layout directly
This removes the warning by using the new DL member. It also simplifies the code. llvm-svn: 368625
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/IPO/Attributor.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 40a0c2657a7..ba7626276c8 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -941,9 +941,8 @@ AANonNullImpl::generatePredicate(Attributor &A) {
std::function<bool(Value &, const SmallPtrSetImpl<ReturnInst *> &)> Pred =
[&](Value &RV, const SmallPtrSetImpl<ReturnInst *> &RetInsts) -> bool {
- Function &F = getAnchorScope();
- if (isKnownNonZero(&RV, F.getParent()->getDataLayout()))
+ if (isKnownNonZero(&RV, A.getDataLayout()))
return true;
auto *NonNullAA = A.getAAFor<AANonNull>(*this, RV);
@@ -1026,8 +1025,7 @@ struct AANonNullCallSiteArgument final : AANonNullImpl {
CallSite CS(&getAnchorValue());
if (CS.paramHasAttr(getArgNo(), getAttrKind()) ||
CS.paramHasAttr(getArgNo(), Attribute::Dereferenceable) ||
- isKnownNonZero(getAssociatedValue(),
- getAnchorScope().getParent()->getDataLayout()))
+ isKnownNonZero(getAssociatedValue(), A.getDataLayout()))
indicateOptimisticFixpoint();
}
@@ -1063,7 +1061,7 @@ ChangeStatus AANonNullArgument::updateImpl(Attributor &A) {
return true;
Value *V = CS.getArgOperand(ArgNo);
- if (isKnownNonZero(V, getAnchorScope().getParent()->getDataLayout()))
+ if (isKnownNonZero(V, A.getDataLayout()))
return true;
return false;
@@ -1700,7 +1698,7 @@ uint64_t AADereferenceableImpl::computeAssumedDerefenceableBytes(
}
// Otherwise, we try to compute assumed bytes from base pointer.
- const DataLayout &DL = getAnchorScope().getParent()->getDataLayout();
+ const DataLayout &DL = A.getDataLayout();
unsigned IdxWidth =
DL.getIndexSizeInBits(V.getType()->getPointerAddressSpace());
APInt Offset(IdxWidth, 0);
@@ -1918,8 +1916,7 @@ ChangeStatus AAAlignReturned::updateImpl(Attributor &A) {
takeAssumedMinimum(AlignAA->getAssumedAlign());
else
// Use IR information.
- takeAssumedMinimum(RV.getPointerAlignment(
- getAnchorScope().getParent()->getDataLayout()));
+ takeAssumedMinimum(RV.getPointerAlignment(A.getDataLayout()));
return isValidState();
};
@@ -1948,7 +1945,7 @@ ChangeStatus AAAlignArgument::updateImpl(Attributor &A) {
Argument &Arg = cast<Argument>(getAnchorValue());
unsigned ArgNo = Arg.getArgNo();
- const DataLayout &DL = F.getParent()->getDataLayout();
+ const DataLayout &DL = A.getDataLayout();
auto BeforeState = getAssumed();
@@ -1986,8 +1983,8 @@ struct AAAlignCallSiteArgument final : AAAlignImpl {
/// See AbstractAttribute::initialize(...).
void initialize(Attributor &A) override {
CallSite CS(&getAnchorValue());
- takeKnownMaximum(getAssociatedValue()->getPointerAlignment(
- getAnchorScope().getParent()->getDataLayout()));
+ takeKnownMaximum(
+ getAssociatedValue()->getPointerAlignment(A.getDataLayout()));
}
/// See AbstractAttribute::updateImpl(Attributor &A).
OpenPOWER on IntegriCloud