[cfe-commits] r73996 - in /cfe/trunk: include/clang/Analysis/PathSensitive/GRState.h lib/Analysis/GRExprEngine.cpp lib/Analysis/GRSimpleVals.cpp lib/Analysis/GRState.cpp

Ted Kremenek kremenek at apple.com
Tue Jun 23 13:38:51 PDT 2009


Author: kremenek
Date: Tue Jun 23 15:38:51 2009
New Revision: 73996

URL: http://llvm.org/viewvc/llvm-project?rev=73996&view=rev
Log:
Remove GRStateManager::BindLoc() and GRStateManager::Unbind().

Modified:
    cfe/trunk/include/clang/Analysis/PathSensitive/GRState.h
    cfe/trunk/lib/Analysis/GRExprEngine.cpp
    cfe/trunk/lib/Analysis/GRSimpleVals.cpp
    cfe/trunk/lib/Analysis/GRState.cpp

Modified: cfe/trunk/include/clang/Analysis/PathSensitive/GRState.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/PathSensitive/GRState.h?rev=73996&r1=73995&r2=73996&view=diff

==============================================================================
--- cfe/trunk/include/clang/Analysis/PathSensitive/GRState.h (original)
+++ cfe/trunk/include/clang/Analysis/PathSensitive/GRState.h Tue Jun 23 15:38:51 2009
@@ -593,17 +593,7 @@
   
     return UnknownVal();
   }
-  
-  const GRState* BindLoc(const GRState* St, Loc LV, SVal V) {
-    return StoreMgr->Bind(St, LV, V);
-  }
 
-  void Unbind(GRState& St, Loc LV) {
-    St.St = StoreMgr->Remove(St.St, LV);
-  }
-  
-  const GRState* Unbind(const GRState* St, Loc LV);
-  
   const GRState* getPersistentState(GRState& Impl);
 
   bool isEqual(const GRState* state, Expr* Ex, const llvm::APSInt& V);
@@ -722,7 +712,7 @@
 }
   
 inline const GRState *GRState::bindLoc(Loc LV, SVal V) const {
-  return Mgr->BindLoc(this, LV, V);
+  return Mgr->StoreMgr->Bind(this, LV, V);
 }
 
 inline const GRState *GRState::bindLoc(SVal LV, SVal V) const {
@@ -844,10 +834,6 @@
   scanReachableSymbols(val, cb);
   return cb;
 }
-  
-inline const GRState *GRState::unbindLoc(Loc LV) const {
-  return Mgr->Unbind(this, LV);
-}
 
 } // end clang namespace
 

Modified: cfe/trunk/lib/Analysis/GRExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRExprEngine.cpp?rev=73996&r1=73995&r2=73996&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRExprEngine.cpp (original)
+++ cfe/trunk/lib/Analysis/GRExprEngine.cpp Tue Jun 23 15:38:51 2009
@@ -1046,7 +1046,7 @@
   else {
     // We are binding to a value other than 'unknown'.  Perform the binding
     // using the StoreManager.
-    newState = StateMgr.BindLoc(state, cast<Loc>(location), Val);
+    newState = state->bindLoc(cast<Loc>(location), Val);
   }
 
   // The next thing to do is check if the GRTransferFuncs object wants to

Modified: cfe/trunk/lib/Analysis/GRSimpleVals.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRSimpleVals.cpp?rev=73996&r1=73995&r2=73996&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRSimpleVals.cpp (original)
+++ cfe/trunk/lib/Analysis/GRSimpleVals.cpp Tue Jun 23 15:38:51 2009
@@ -354,24 +354,23 @@
                             CallExpr* CE, SVal L,
                             ExplodedNode<GRState>* Pred) {
   
-  GRStateManager& StateMgr = Eng.getStateManager();
-  const GRState* St = Builder.GetState(Pred);
+  const GRState* state = Builder.GetState(Pred);
   
   // Invalidate all arguments passed in by reference (Locs).
 
   for (CallExpr::arg_iterator I = CE->arg_begin(), E = CE->arg_end();
         I != E; ++I) {
 
-    SVal V = St->getSVal(*I);
+    SVal V = state->getSVal(*I);
     
     if (isa<loc::MemRegionVal>(V)) {
       const MemRegion *R = cast<loc::MemRegionVal>(V).getRegion();
+      
       if (R->isBoundable())
-        St = StateMgr.BindLoc(St, cast<Loc>(V), UnknownVal());
+        state = state->bindLoc(cast<Loc>(V), UnknownVal());
     } else if (isa<nonloc::LocAsInteger>(V))
-      St = StateMgr.BindLoc(St, cast<nonloc::LocAsInteger>(V).getLoc(),
-                            UnknownVal());
-    
+        state = state->bindLoc(cast<nonloc::LocAsInteger>(V).getLoc(),
+                               UnknownVal());
   }
   
   // Make up a symbol for the return value of this function.  
@@ -381,10 +380,10 @@
   if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())) {    
     unsigned Count = Builder.getCurrentBlockCount();
     SVal X = Eng.getValueManager().getConjuredSymbolVal(CE, Count);
-    St = St->bindExpr(CE, X, Eng.getCFG().isBlkExpr(CE), false);
+    state = state->bindExpr(CE, X, Eng.getCFG().isBlkExpr(CE), false);
   }  
     
-  Builder.MakeNode(Dst, CE, Pred, St);
+  Builder.MakeNode(Dst, CE, Pred, state);
 }
 
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/lib/Analysis/GRState.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRState.cpp?rev=73996&r1=73995&r2=73996&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRState.cpp (original)
+++ cfe/trunk/lib/Analysis/GRState.cpp Tue Jun 23 15:38:51 2009
@@ -56,16 +56,16 @@
                                            SymReaper);
 }
 
-const GRState* GRStateManager::Unbind(const GRState* St, Loc LV) {
-  Store OldStore = St->getStore();
-  Store NewStore = StoreMgr->Remove(OldStore, LV);
+const GRState *GRState::unbindLoc(Loc LV) const {
+  Store OldStore = getStore();
+  Store NewStore = Mgr->StoreMgr->Remove(OldStore, LV);
   
   if (NewStore == OldStore)
-    return St;
+    return this;
   
-  GRState NewSt = *St;
+  GRState NewSt = *this;
   NewSt.St = NewStore;
-  return getPersistentState(NewSt);    
+  return Mgr->getPersistentState(NewSt);    
 }
 
 const GRState* GRStateManager::getInitialState() {





More information about the cfe-commits mailing list