diff options
| author | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-08-03 04:10:50 +0000 |
|---|---|---|
| committer | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-08-03 04:10:50 +0000 |
| commit | 96bb3472058c709dc2f798d6e507235b1ffc2f89 (patch) | |
| tree | 057e873fbb82bc3867314279a030ac2ca68872a5 | |
| parent | aa2810b6e74dcc7967b56fffe519d630370794a4 (diff) | |
| download | bcm5719-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.cpp | 6 |
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). |

