Fix delegation
authorDaniel Berlin <dberlin@dberlin.org>
Mon, 26 Jan 2015 17:30:39 +0000 (17:30 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Mon, 26 Jan 2015 17:30:39 +0000 (17:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227098 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFLAliasAnalysis.cpp

index 9783671b09a3ff4337f297dff06244c7b28ce20d..321b57b433c992c09ccbfa161972cdc7d755e808 100644 (file)
@@ -227,10 +227,13 @@ public:
     // Comparisons between global variables and other constants should be
     // handled by BasicAA.
     if (isa<Constant>(LocA.Ptr) && isa<Constant>(LocB.Ptr)) {
-      return MayAlias;
+      return AliasAnalysis::alias(LocA, LocB);
     }
+    AliasResult QueryResult = query(LocA, LocB);
+    if (QueryResult == MayAlias)
+      return AliasAnalysis::alias(LocA, LocB);
 
-    return query(LocA, LocB);
+    return QueryResult;
   }
 
   void initializePass() override { InitializeAliasAnalysis(this); }