From: Nikita Popov Date: Fri, 21 Oct 2022 10:16:57 +0000 (+0200) Subject: [ModuleSummaryAnalysis] Use helper methods to check readnone/readonly (NFC) X-Git-Tag: upstream/17.0.6~29944 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eb470e67c148089d8d5c0c379a569ac55591546c;p=platform%2Fupstream%2Fllvm.git [ModuleSummaryAnalysis] Use helper methods to check readnone/readonly (NFC) This makes sure that this code continue working when switching to the memory attribute. A caveat here is that onlyReadsMemory() will also true for readnone. To be conservative, I'm explicitly excluding that case here. --- diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp index efe6058..52827c2 100644 --- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp +++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp @@ -492,8 +492,7 @@ static void computeFunctionSummary( F.getLinkage(), F.getVisibility(), NotEligibleForImport, /* Live = */ false, F.isDSOLocal(), F.canBeOmittedFromSymbolTable()); FunctionSummary::FFlags FunFlags{ - F.hasFnAttribute(Attribute::ReadNone), - F.hasFnAttribute(Attribute::ReadOnly), + F.doesNotAccessMemory(), F.onlyReadsMemory() && !F.doesNotAccessMemory(), F.hasFnAttribute(Attribute::NoRecurse), F.returnDoesNotAlias(), // FIXME: refactor this to use the same code that inliner is using. // Don't try to import functions with noinline attribute.