From 232db6e8d645360a9773e2617af9546ed32ac82c Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Thu, 23 Oct 2003 20:39:18 +0000 Subject: [PATCH] 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 --- lib/CodeGen/RegAlloc/AllocInfo.h | 9 +++++++++ lib/Target/SparcV9/RegAlloc/AllocInfo.h | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/CodeGen/RegAlloc/AllocInfo.h b/lib/CodeGen/RegAlloc/AllocInfo.h index ad230506fb3..d982afc8ef0 100644 --- a/lib/CodeGen/RegAlloc/AllocInfo.h +++ b/lib/CodeGen/RegAlloc/AllocInfo.h @@ -56,6 +56,15 @@ struct AllocInfo { 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 diff --git a/lib/Target/SparcV9/RegAlloc/AllocInfo.h b/lib/Target/SparcV9/RegAlloc/AllocInfo.h index ad230506fb3..d982afc8ef0 100644 --- a/lib/Target/SparcV9/RegAlloc/AllocInfo.h +++ b/lib/Target/SparcV9/RegAlloc/AllocInfo.h @@ -56,6 +56,15 @@ struct AllocInfo { 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