[llvm] [DWARF] Disable generation of cross-CU references for DWARF V2 (PR #192516)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 16 21:52:20 PDT 2026
================
@@ -0,0 +1,47 @@
+; RUN: %llc_dwarf -dwarf-version=3 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK-V3 %s
+; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK-V2 --implicit-check-not=DW_FORM_ref_addr %s
+
+; DWARF V3: Expect cross-CU type deduplication resulting in only one "int"
+; definition and a DW_FORM_ref_addr.
+
+; CHECK-V3: DW_TAG_compile_unit
+; CHECK-V3: DW_AT_name{{.*}}"a.cpp"
+; CHECK-V3: DW_TAG_base_type
+; CHECK-V3: DW_AT_name{{.*}}"int"
+; CHECK-V3: DW_TAG_compile_unit
+; CHECK-V3: DW_AT_name{{.*}}"b.cpp"
+; CHECK-V3: DW_AT_type [DW_FORM_ref_addr]
+
+; DWARF V2: cross-CU type deduplication disabled resulting in two "int"
+; definitions and no DW_FORM_ref_addr (cross-CU ref)
+
+; CHECK-V2: DW_TAG_compile_unit
+; CHECK-V2: DW_AT_name{{.*}}"a.cpp"
+; CHECK-V2: DW_TAG_base_type
+; CHECK-V2: DW_AT_name{{.*}}"int"
+; CHECK-V2: DW_TAG_compile_unit
+; CHECK-V2: DW_AT_name{{.*}}"b.cpp"
+; CHECK-V2: DW_TAG_base_type
+; CHECK-V2: DW_AT_name{{.*}}"int"
+
----------------
Nadharm wrote:
I like this better as well. Updated, thank you!
https://github.com/llvm/llvm-project/pull/192516
More information about the llvm-commits
mailing list