[Attributor] Fix dereferenceable callsite argument initialization
llvm-svn: 367748
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 88125a4..4a30859 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -2053,10 +2053,12 @@
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).