memset_pattern16 uses a 16 BYTE pattern, not a 16 BIT pattern. Add comments to that...
authorOwen Anderson <resistor@mac.com>
Tue, 6 Sep 2011 23:43:26 +0000 (23:43 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 6 Sep 2011 23:43:26 +0000 (23:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139205 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/BasicAliasAnalysis.cpp

index 4964c8c209e3eceadb31abbf7d935ca11b9cd8e6..69e942b228fb24cccbe8819ea86b4f4c46cf779b 100644 (file)
@@ -847,11 +847,13 @@ BasicAliasAnalysis::getModRefInfo(ImmutableCallSite CS,
       const Value *Src = CS.getArgument(1);
       // If it can't overlap the source dest, then it doesn't modref the loc.
       if (isNoAlias(Location(Dest, Len), Loc)) {
-        if (isNoAlias(Location(Src, 2), Loc))
+        // Always reads 16 bytes of the source.
+        if (isNoAlias(Location(Src, 16), Loc))
           return NoModRef;
         // If it can't overlap the dest, then worst case it reads the loc.
         Min = Ref;
-      } else if (isNoAlias(Location(Src, 2), Loc)) {
+      // Always reads 16 bytes of the source.
+      } else if (isNoAlias(Location(Src, 16), Loc)) {
         // If it can't overlap the source, then worst case it mutates the loc.
         Min = Mod;
       }