libdw: Simplify __libdw_visit_scopes' tag checks
The former classify_die() was splitting tags into more classes than
actually needed.
The one place that used the "imported" die_class now just compares to
DW_TAG_imported_unit directly.
The recursion check was squashing "match", "match_inline", and "walk"
into the same action. Now that uses the new may_have_scopes(), which
just returns true for all tags that had those classifications.
The net result has no functional change, but performs better.
Signed-off-by: Josh Stone <jistone@redhat.com>
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 8e1dd92..21cc485 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,11 @@
+2013-09-24 Josh Stone <jistone@redhat.com>
+
+ * libdw_visit_scopes.c (classify_die): Removed.
+ (may_have_scopes): New function to replace classify_die. There's no
+ need for full classification; just find tags that may contain scopes.
+ (__libdw_visit_scopes): Use a direct tag comparison for imported
+ units, and use may_have_scopes to test if recursion is needed.
+
2013-09-20 Mark Wielaard <mjw@redhat.com>
* dwarf_getfuncs.c (visitor_info): New struct.