Factor out the logic for onlyReadsMemory into a helper function.
authorDan Gohman <gohman@apple.com>
Tue, 9 Nov 2010 19:43:24 +0000 (19:43 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 9 Nov 2010 19:43:24 +0000 (19:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118611 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/AliasAnalysis.h

index 5f9579778adcd85341932af026e720bdf13405a9..d97552ee77d4cb76b5213eec48917f58601fa1e4 100644 (file)
@@ -247,8 +247,7 @@ public:
   /// This property corresponds to the GCC 'pure' attribute.
   ///
   bool onlyReadsMemory(ImmutableCallSite CS) {
-    ModRefBehavior MRB = getModRefBehavior(CS);
-    return MRB == DoesNotAccessMemory || MRB == OnlyReadsMemory;
+    return onlyReadsMemory(getModRefBehavior(CS));
   }
 
   /// onlyReadsMemory - If the specified function is known to only read from
@@ -256,7 +255,14 @@ public:
   /// when the call site is not known.
   ///
   bool onlyReadsMemory(const Function *F) {
-    ModRefBehavior MRB = getModRefBehavior(F);
+    return onlyReadsMemory(getModRefBehavior(F));
+  }
+
+  /// onlyReadsMemory - If the functions with the specified behavior are known
+  /// to only read from non-volatile memory (or not access memory at all), return
+  /// true.  For use when the call site is not known.
+  ///
+  static bool onlyReadsMemory(ModRefBehavior MRB) {
     return MRB == DoesNotAccessMemory || MRB == OnlyReadsMemory;
   }