Add and Operator== method to ValID so equality can be done properly for
named or numbered ValIDs.

llvm-svn: 35172
diff --git a/llvm/lib/AsmParser/ParserInternals.h b/llvm/lib/AsmParser/ParserInternals.h
index 1bc744b..6396d94 100644
--- a/llvm/lib/AsmParser/ParserInternals.h
+++ b/llvm/lib/AsmParser/ParserInternals.h
@@ -207,6 +207,26 @@
     default:  assert(0 && "Unknown value type!"); return false;
     }
   }
+
+  bool operator==(const ValID &V) const {
+    if (Type == V.Type) {
+      switch (Type) {
+        case LocalID:
+        case GlobalID: return Num == V.Num;
+        case LocalName:
+        case GlobalName: return strcmp(Name, V.Name) == 0;
+        case ConstSIntVal:  return ConstPool64  == V.ConstPool64;
+        case ConstUIntVal:  return UConstPool64 == V.UConstPool64;
+        case ConstFPVal:    return ConstPoolFP  == V.ConstPoolFP;
+        case ConstantVal:   return ConstantValue == V.ConstantValue;
+        case ConstNullVal:  return true;
+        case ConstUndefVal: return true;
+        case ConstZeroVal:  return true;
+        default:  assert(0 && "Unknown value type!"); return false;
+      }
+    }
+    return false;
+  }
 };
 
 struct TypeWithAttrs {