uint64_t Offset =
CU->ExprRefedBaseTypes[Op.getRawOperand(I)].Die->getOffset();
assert(Offset < (1ULL << (ULEB128PadSize * 7)) && "Offset wont fit");
- Asm->EmitULEB128(Offset, nullptr, ULEB128PadSize);
+ Streamer.EmitULEB128(Offset, "", ULEB128PadSize);
// Make sure comments stay aligned.
for (unsigned J = 0; J < ULEB128PadSize; ++J)
if (Comment != End)
-; RUN: llc -dwarf-version=5 -filetype=obj -O0 < %s | llvm-dwarfdump -debug-info -debug-loclists - | FileCheck %s
-; RUN: llc -dwarf-version=5 -split-dwarf-file=foo.dwo -filetype=obj -O0 < %s | llvm-dwarfdump -debug-info -debug-loclists - | FileCheck %s
+; RUN: llc -dwarf-version=5 -filetype=obj -O0 < %s \
+; RUN: | llvm-dwarfdump -debug-info -debug-loclists - | FileCheck %s
+; RUN: llc -dwarf-version=5 -split-dwarf-file=foo.dwo -filetype=obj -O0 < %s \
+; RUN: | llvm-dwarfdump -debug-info -debug-loclists - | FileCheck --check-prefix=CHECK --check-prefix=SPLIT %s
+; RUN: llc -dwarf-version=5 -split-dwarf-file=foo.dwo -filetype=asm -O0 < %s | FileCheck --check-prefix=ASM %s
+
+; A bit of a brittle test - this is testing the specific DWO_id. The
+; alternative would be to test two files with different DW_OP_convert values &
+; ensuring the DWO IDs differ when the DW_OP_convert parameter differs.
+
+; So if this test ends up being a brittle pain to maintain, updating the DWO ID
+; often - add another IR file with a different DW_OP_convert that's otherwise
+; identical and demonstrate that they have different DWO IDs.
+
+; SPLIT: 0x00000000: Compile Unit: {{.*}} DWO_id = 0xafd73565c68bc661
+
+; Regression testing a fairly quirky bug where instead of hashing (see above),
+; extra bytes would be emitted into the output assembly in no
+; particular/intentional section - so let's check they don't show up at all:
+; ASM-NOT: .asciz "\200\200\200"
; CHECK: 0x{{0*}}[[TYPE:.*]]: DW_TAG_base_type
-; CHECK-NEXT: DW_AT_name ("DW_ATE_unsigned_32")
+; CHECK-NEXT: DW_AT_name ("DW_ATE_unsigned_32")
; CHECK: DW_LLE_offset_pair ({{.*}}): DW_OP_consts +7, DW_OP_convert 0x[[TYPE]], DW_OP_stack_value