Fix regression in pointer comparison with NULL (e.g., 0 != ptr). This fixes
<rdar://problem/6732151>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67954 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/GRSimpleVals.cpp b/lib/Analysis/GRSimpleVals.cpp
index a38d76d..8e605ca 100644
--- a/lib/Analysis/GRSimpleVals.cpp
+++ b/lib/Analysis/GRSimpleVals.cpp
@@ -375,13 +375,11 @@
         
         return NonLoc::MakeIntTruthVal(BasicVals, b);
       }
-      else if (isa<loc::SymbolVal>(R)) {
+      else if (SymbolRef Sym = R.getAsSymbol()) {
         const SymIntExpr * SE =
-        Eng.getSymbolManager().getSymIntExpr(
-                                    cast<loc::SymbolVal>(R).getSymbol(),
-                                    BinaryOperator::NE,
-                                    cast<loc::ConcreteInt>(L).getValue(),
-                                    Eng.getContext().IntTy);
+          Eng.getSymbolManager().getSymIntExpr(Sym, BinaryOperator::NE,
+                                           cast<loc::ConcreteInt>(L).getValue(),
+                                             Eng.getContext().IntTy);
         return nonloc::SymExprVal(SE);
       }