Added "assumption" logic for lval::FuncVal and lval::GotoLabel, and simplified
assumption logic for lval::DeclVal.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47466 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/GRSimpleVals.cpp b/Analysis/GRSimpleVals.cpp
index 02df7a5..775d099 100644
--- a/Analysis/GRSimpleVals.cpp
+++ b/Analysis/GRSimpleVals.cpp
@@ -233,13 +233,9 @@
     }
       
     case lval::DeclValKind:
-    
-      if (isa<lval::DeclVal>(R)) {        
-        bool b = cast<lval::DeclVal>(L) == cast<lval::DeclVal>(R);
-        return NonLVal::MakeIntTruthVal(ValMgr, b);
-      }
-    
-      break;
+    case lval::FuncValKind:
+    case lval::GotoLabelKind:
+      return NonLVal::MakeIntTruthVal(ValMgr, L == R);
   }
   
   return NonLVal::MakeIntTruthVal(ValMgr, false);
@@ -288,12 +284,9 @@
     }
       
     case lval::DeclValKind:
-      if (isa<lval::DeclVal>(R)) {        
-        bool b = cast<lval::DeclVal>(L) == cast<lval::DeclVal>(R);
-        return NonLVal::MakeIntTruthVal(ValMgr, b);
-      }
-    
-    break;
+    case lval::FuncValKind:
+    case lval::GotoLabelKind:
+      return NonLVal::MakeIntTruthVal(ValMgr, L != R);
   }
   
   return NonLVal::MakeIntTruthVal(ValMgr, true);