Add and Operator== method to ValID so equality can be done properly for

named or numbered ValIDs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35172 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2007-03-19 18:34:28 +00:00
parent 590b3c559f
commit 4e0422c7e6

View File

@ -207,6 +207,26 @@ struct ValID {
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 {