[llvm-dev] Objects of MemoryLocation class are created for ‘llvm.memset.*‘ intrinsics

Roman Gareev via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 11 23:36:14 PST 2015

2015-12-11 23:44 GMT+05:00 Hal Finkel <hfinkel at anl.gov>:
> Hi Roman,
> The MemoryLocation objects are involved in findAliasSetForUnknownInst, but none are created there for the memset intrinsic. MemoryLocation objects are only involved for the regular memory accesses being compared to the unknown instruction. See AliasSet::aliasesUnknownInst in lib/Analysis/AliasSetTracker.cpp.
> We do know how to create MemoryLocation objects for memsets, see MemoryLocation::getForDest, but we don't do so in the AliasSetTracker. We're taking advantage here of the fast that AA's getModRefInfo understands (or should understand) enough about memset to accurately answer the queries.

Hi Hal,

Thank you for the explanation!

                                    Cheers, Roman Gareev.

More information about the llvm-dev mailing list