Move the implementations of ==, != on AllocInfos here, from UnpackTraceFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9452 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/RegAlloc/AllocInfo.h b/lib/CodeGen/RegAlloc/AllocInfo.h
index ad23050..d982afc 100644
--- a/lib/CodeGen/RegAlloc/AllocInfo.h
+++ b/lib/CodeGen/RegAlloc/AllocInfo.h
@@ -56,6 +56,15 @@
CV.push_back (ConstantSInt::get (Type::IntTy, Placement));
return ConstantStruct::get (ST, CV);
}
+
+ /// AllocInfos compare equal if the allocation placements are equal
+ /// (i.e., they can be equal even if they refer to operands from two
+ /// different instructions.)
+ ///
+ bool operator== (const AllocInfo &X) const {
+ return (X.AllocState == AllocState) && (X.Placement == Placement);
+ }
+ bool operator!= (const AllocInfo &X) const { return !(*this == X); }
};
#endif // ALLOCINFO_H