diff --git a/clang/lib/Checker/GRState.cpp b/clang/lib/Checker/GRState.cpp
index c533dce..592f930 100644
--- a/clang/lib/Checker/GRState.cpp
+++ b/clang/lib/Checker/GRState.cpp
@@ -69,7 +69,7 @@
   return getStateManager().getPersistentState(NewSt);
 }
 
-SVal GRState::LoadAsScalarOrLoc(const MemRegion *R) const {
+SVal GRState::getSValAsScalarOrLoc(const MemRegion *R) const {
   // We only want to do fetches from regions that we can actually bind
   // values.  For example, SymbolicRegions of type 'id<...>' cannot
   // have direct bindings (but their can be bindings on their subregions).
@@ -79,7 +79,7 @@
   if (const TypedRegion *TR = dyn_cast<TypedRegion>(R)) {
     QualType T = TR->getValueType(getStateManager().getContext());
     if (Loc::IsLocType(T) || T->isIntegerType())
-      return Load(R);
+      return getSVal(R);
   }
 
   return UnknownVal();
@@ -297,7 +297,7 @@
       return false;
 
   // Now look at the binding to this region (if any).
-  if (!scan(state->LoadAsScalarOrLoc(R)))
+  if (!scan(state->getSValAsScalarOrLoc(R)))
     return false;
 
   // Now look at the subregions.
@@ -341,7 +341,7 @@
 bool GRStateManager::isEqual(const GRState* state, const Expr* Ex,
                              const llvm::APSInt& Y) {
 
-  SVal V = state->getExprVal(Ex);
+  SVal V = state->getSVal(Ex);
 
   if (loc::ConcreteInt* X = dyn_cast<loc::ConcreteInt>(&V))
     return X->getValue() == Y;
