StoreManagers: Use 'hasGlobalsStorage()' and 'hasParametersStorage()' instead of
directly consulting if a VarDecl is an implicit or actual parameter, a global,
etc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74716 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/MemRegion.cpp b/lib/Analysis/MemRegion.cpp
index 9314b1e..52e2623 100644
--- a/lib/Analysis/MemRegion.cpp
+++ b/lib/Analysis/MemRegion.cpp
@@ -359,7 +359,23 @@
       || MS == Mgr->getStackArgumentsRegion();
   }
   return false;
-}  
+}
+
+bool MemRegion::hasGlobalsStorage() const {
+  if (const MemSpaceRegion *MS = getMemorySpace())
+    return MS == getMemRegionManager()->getGlobalsRegion();
+
+  return false;
+}
+
+bool MemRegion::hasGlobalsOrParametersStorage() const {
+  if (const MemSpaceRegion *MS = getMemorySpace()) {
+    MemRegionManager *Mgr = getMemRegionManager();
+    return MS == Mgr->getGlobalsRegion()
+    || MS == Mgr->getStackArgumentsRegion();
+  }
+  return false;
+}
 
 //===----------------------------------------------------------------------===//
 // View handling.