From: Arthur Eubanks Date: Mon, 6 Sep 2021 20:02:36 +0000 (-0700) Subject: [NFC][InstCombine] Make check for sret in a vararg function clearer X-Git-Tag: upstream/15.0.7~32073 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b81fc14f2da1800432e864c27abb01c1a219a97e;p=platform%2Fupstream%2Fllvm.git [NFC][InstCombine] Make check for sret in a vararg function clearer We're trying to get the parameter index of sret and see if it's part of a function's varargs. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D109335 --- diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index a05fe7a..c3fc5ea 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -2884,7 +2884,7 @@ bool InstCombinerImpl::transformConstExprCastCall(CallBase &Call) { // that are compatible with being a vararg call argument. unsigned SRetIdx; if (CallerPAL.hasAttrSomewhere(Attribute::StructRet, &SRetIdx) && - SRetIdx > FT->getNumParams()) + SRetIdx - AttributeList::FirstArgIndex >= FT->getNumParams()) return false; }