diff options
| author | Johannes Doerfert <jdoerfert@anl.gov> | 2019-08-12 22:21:09 +0000 |
|---|---|---|
| committer | Johannes Doerfert <jdoerfert@anl.gov> | 2019-08-12 22:21:09 +0000 |
| commit | 26e58466de615adb36c79a4212287e9e8a4ac303 (patch) | |
| tree | 3d72c274aa6be360b3075cb98faa0995c2ba0823 /llvm/lib/Transforms | |
| parent | a7165c088e11a9b244d9efde95291fa79692e2c9 (diff) | |
| download | bcm5719-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/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/IPO/Attributor.cpp | 19 |
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). |

