From 467a0adfc8b6bd4b114e024c200c159497a4cd86 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 9 Nov 2010 19:43:24 +0000 Subject: [PATCH] Factor out the logic for onlyReadsMemory into a helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118611 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/AliasAnalysis.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h index 5f9579778ad..d97552ee77d 100644 --- a/include/llvm/Analysis/AliasAnalysis.h +++ b/include/llvm/Analysis/AliasAnalysis.h @@ -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; } -- 2.34.1