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
This commit is contained in:
Dan Gohman 2010-11-09 19:43:24 +00:00
parent 7293ac1281
commit 467a0adfc8

View 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;
}