[llvm] 4d58d1d - DWARFVerifier: Print the CU name and CU count to help visualize progress

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 29 14:02:59 PST 2021


Author: David Blaikie
Date: 2021-12-29T14:02:05-08:00
New Revision: 4d58d1d5af31eb386b73279f288286db225fabae

URL: https://github.com/llvm/llvm-project/commit/4d58d1d5af31eb386b73279f288286db225fabae
DIFF: https://github.com/llvm/llvm-project/commit/4d58d1d5af31eb386b73279f288286db225fabae.diff

LOG: DWARFVerifier: Print the CU name and CU count to help visualize progress

Added: 
    

Modified: 
    llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    llvm/test/DebugInfo/X86/skeleton-unit-verify.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
index 6424c2f598449..5f56ebd5a291d 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
@@ -322,12 +322,17 @@ unsigned DWARFVerifier::verifyUnits(const DWARFUnitVector &Units) {
   unsigned NumDebugInfoErrors = 0;
   ReferenceMap CrossUnitReferences;
 
+  unsigned int Index = 0;
   for (const auto &Unit : Units) {
-      ReferenceMap UnitLocalReferences;
-      NumDebugInfoErrors +=
-          verifyUnitContents(*Unit, UnitLocalReferences, CrossUnitReferences);
-      NumDebugInfoErrors += verifyDebugInfoReferences(
-          UnitLocalReferences, [&](uint64_t Offset) { return Unit.get(); });
+    OS << "Verifying unit: " << Index << " / " << Units.getNumUnits() << '\n';
+    OS << "Unit Name: " << Unit->getUnitDIE(true).getShortName() << '\n';
+    OS.flush();
+    ReferenceMap UnitLocalReferences;
+    NumDebugInfoErrors +=
+        verifyUnitContents(*Unit, UnitLocalReferences, CrossUnitReferences);
+    NumDebugInfoErrors += verifyDebugInfoReferences(
+        UnitLocalReferences, [&](uint64_t Offset) { return Unit.get(); });
+    ++Index;
   }
 
   NumDebugInfoErrors += verifyDebugInfoReferences(

diff  --git a/llvm/test/DebugInfo/X86/skeleton-unit-verify.s b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
index 8c3a223fdbf42..062336c35d9f1 100644
--- a/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
+++ b/llvm/test/DebugInfo/X86/skeleton-unit-verify.s
@@ -5,6 +5,10 @@
 # CHECK-NEXT: Verifying .debug_info Unit Header Chain...
 # CHECK-NEXT: Verifying .debug_types Unit Header Chain...
 # CHECK-NEXT: Verifying non-dwo Units...
+# CHECK-NEXT: Verifying unit: 0 / 2
+# CHECK-NEXT: Unit Name: test.cpp
+# CHECK-NEXT: Verifying unit: 1 / 2
+# CHECK-NEXT: Unit Name: 
 # CHECK-NEXT: warning: DW_TAG_skeleton_unit has DW_CHILDREN_yes but DIE has no children
 # CHECK-NEXT: DW_TAG_skeleton_unit
 # CHECK-NEXT: error: Skeleton compilation unit has children.
@@ -15,6 +19,8 @@
         .byte   1                       # Abbreviation Code
         .byte   74                      # DW_TAG_skeleton_unit
         .byte   0                       # DW_CHILDREN_no
+        .byte   3                       # DW_AT_name
+        .byte   8                       # DW_FORM_string
         .byte   0                       # EOM(1)
         .byte   0                       # EOM(2)
         .byte   2                       # Abbreviation Code
@@ -34,6 +40,7 @@
         .long   .debug_abbrev           # Offset Into Abbrev. Section
         .quad   -6573227469967412476
         .byte   1                       # Abbrev [1]
+        .asciz  "test.cpp"
         .byte   0
 .Lcu_end0:
         .long   .Lcu_end1-.Lcu_start1 # Length of Unit


        


More information about the llvm-commits mailing list