diff options
author | Jim Laskey <jlaskey@mac.com> | 2006-01-21 01:13:18 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2006-01-21 01:13:18 +0000 |
commit | 63ae85f194981cc6493b1aeda7b8c25d34fe7e8b (patch) | |
tree | 50feaa3ed0d59da2e8a11f8239de34688dd9cc89 | |
parent | 736832107b64a80da1623868e7c16cb97d7ee826 (diff) |
Simplify search for abbreviations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25491 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/DwarfWriter.h | 19 | ||||
-rw-r--r-- | lib/CodeGen/DwarfWriter.cpp | 12 |
2 files changed, 21 insertions, 10 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h index 7d04e0abcc..3c8ef877ea 100644 --- a/include/llvm/CodeGen/DwarfWriter.h +++ b/include/llvm/CodeGen/DwarfWriter.h @@ -476,6 +476,25 @@ namespace llvm { // Accessors unsigned getAttribute() const { return Attribute; } unsigned getForm() const { return Form; } + + /// operator== - Used by DIEAbbrev to locate entry. + /// + bool operator==(const DIEAbbrevData &DAD) const { + return Attribute == DAD.Attribute && Form == DAD.Form; + } + + /// operator!= - Used by DIEAbbrev to locate entry. + /// + bool operator!=(const DIEAbbrevData &DAD) const { + return Attribute != DAD.Attribute || Form != DAD.Form; + } + + /// operator< - Used by DIEAbbrev to locate entry. + /// + bool operator<(const DIEAbbrevData &DAD) const { + return Attribute < DAD.Attribute || + (Attribute == DAD.Attribute && Form < DAD.Form); + } }; //===--------------------------------------------------------------------===// diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp index a5424d048b..09ec6f1458 100644 --- a/lib/CodeGen/DwarfWriter.cpp +++ b/lib/CodeGen/DwarfWriter.cpp @@ -589,10 +589,7 @@ bool DIEAbbrev::operator==(const DIEAbbrev &DA) const { if (Data.size() != DA.Data.size()) return false; for (unsigned i = 0, N = Data.size(); i < N; i++) { - const DIEAbbrevData &AttrData = Data[i]; - const DIEAbbrevData &DAAttrData = DA.Data[i]; - if (AttrData.getAttribute() != DAAttrData.getAttribute()) return false; - if (AttrData.getForm() != DAAttrData.getForm()) return false; + if (Data[i] != DA.Data[i]) return false; } return true; @@ -606,12 +603,7 @@ bool DIEAbbrev::operator<(const DIEAbbrev &DA) const { if (Data.size() != DA.Data.size()) return Data.size() < DA.Data.size(); for (unsigned i = 0, N = Data.size(); i < N; i++) { - const DIEAbbrevData &AttrData = Data[i]; - const DIEAbbrevData &DAAttrData = DA.Data[i]; - if (AttrData.getAttribute() != DAAttrData.getAttribute()) - return AttrData.getAttribute() < DAAttrData.getAttribute(); - if (AttrData.getForm() != DAAttrData.getForm()) - return AttrData.getForm() < DAAttrData.getForm(); + if (Data[i] != DA.Data[i]) return Data[i] < DA.Data[i]; } return false; |