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

Roman Gareev via llvm-dev llvm-dev at lists.llvm.org
Sun Dec 6 02:24:06 PST 2015


Dear llvm contributors,

Could you please advise me where objects of MemoryLocation class are
created for ‘llvm.memset.*‘ intrinsics?

In the Bug 23077 (https://llvm.org/bugs/show_bug.cgi?id=23077) the
AliasSetTracker constructs 128 alias sets for 0 pointer values, which
contain only unknown instructions. In this case, all unknown
instructions, which are added to new alias sets in the
AliasSetTracker::addUnknown, have the following form:

call void @llvm.memset.p0i8.i64(i8* %scevgep..., i8 0, i64 256, i32 8, i1 false)

Furthermore, in this case, there aren’t any unknown instructions,
which are added by AliasSetTracker::addUnknown to alias sets that are
found by findAliasSetForUnknownInst. That’s why I would like to check
objects of MemoryLocation class that are created  for ‘llvm.memset.*‘
intrinsics. If I’m not mistaken, objects of MemoryLocation class are
involved in alias analysis and, in particular, in work of
findAliasSetForUnknownInst.

Thank you for the attention!

-- 
                                    Cheers, Roman Gareev.


More information about the llvm-dev mailing list