aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-01-21 01:13:18 +0000
committerJim Laskey <jlaskey@mac.com>2006-01-21 01:13:18 +0000
commit63ae85f194981cc6493b1aeda7b8c25d34fe7e8b (patch)
tree50feaa3ed0d59da2e8a11f8239de34688dd9cc89
parent736832107b64a80da1623868e7c16cb97d7ee826 (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.h19
-rw-r--r--lib/CodeGen/DwarfWriter.cpp12
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;