summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHideto Ueno <uenoku.tokotoko@gmail.com>2019-08-03 04:10:50 +0000
committerHideto Ueno <uenoku.tokotoko@gmail.com>2019-08-03 04:10:50 +0000
commit96bb3472058c709dc2f798d6e507235b1ffc2f89 (patch)
tree057e873fbb82bc3867314279a030ac2ca68872a5
parentaa2810b6e74dcc7967b56fffe519d630370794a4 (diff)
downloadbcm5719-llvm-96bb3472058c709dc2f798d6e507235b1ffc2f89.tar.gz
bcm5719-llvm-96bb3472058c709dc2f798d6e507235b1ffc2f89.zip
[Attributor] Fix dereferenceable callsite argument initialization
llvm-svn: 367748
-rw-r--r--llvm/lib/Transforms/IPO/Attributor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 88125a45e23..4a30859f54d 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -2053,10 +2053,12 @@ struct AADereferenceableCallSiteArgument : AADereferenceableImpl {
void initialize(Attributor &A) override {
CallSite CS(&getAnchoredValue());
if (CS.paramHasAttr(ArgNo, Attribute::Dereferenceable))
- takeKnownDerefBytesMaximum(CS.getDereferenceableBytes(ArgNo));
+ takeKnownDerefBytesMaximum(
+ CS.getDereferenceableBytes(ArgNo + AttributeList::FirstArgIndex));
if (CS.paramHasAttr(ArgNo, Attribute::DereferenceableOrNull))
- takeKnownDerefBytesMaximum(CS.getDereferenceableOrNullBytes(ArgNo));
+ takeKnownDerefBytesMaximum(CS.getDereferenceableOrNullBytes(
+ ArgNo + AttributeList::FirstArgIndex));
}
/// See AbstractAttribute::updateImpl(Attributor &A).
OpenPOWER on IntegriCloud