[BOLT][DWARF][NFC] Added double escape characters (#93348)

Added double escape characters to lines that describe a test.
This commit is contained in:
Sayhaan Siddiqui 2024-05-31 15:14:37 -07:00 committed by GitHub
parent ad884d9728
commit 11791ae7b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
222 changed files with 679 additions and 680 deletions

View File

@ -1,4 +1,4 @@
# Check that we don't accidentally strip addr32 prefix
## Check that we don't accidentally strip addr32 prefix
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: ld.lld %t.o -o %t.exe -nostdlib

View File

@ -1,13 +1,13 @@
# Verify that we update DW_TAG_compile_unit' ranges and .debug_aranges
# for assembly function that doesn't have corresponding DIE.
#
# The input test case foo() contains nops that we remove.
## Verify that we update DW_TAG_compile_unit' ranges and .debug_aranges
## for assembly function that doesn't have corresponding DIE.
##
## The input test case foo() contains nops that we remove.
RUN: %clang %cflags -gdwarf-5 -no-pie %p/../Inputs/asm_foo.s %p/../Inputs/asm_main.c -o %t.exe
RUN: llvm-bolt %t.exe -o %t --update-debug-sections
RUN: llvm-dwarfdump -all %t | FileCheck %s
# Check ranges were created/updated for asm compile unit
## Check ranges were created/updated for asm compile unit
CHECK: 0x0000000c: DW_TAG_compile_unit
CHECK-NEXT: DW_AT_stmt_list (0x00000000)
CHECK-NEXT: DW_AT_low_pc (0x0000000000000000)
@ -16,11 +16,11 @@ CHECK-NEXT: [0x0000000000[[#%x,ADDR:]],
CHECK-SAME: 0x0000000000[[#ADDR+1]]))
CHECK-NEXT: DW_AT_name ("{{.*}}asm_foo.s")
# Check .debug_aranges was updated for asm module
## Check .debug_aranges was updated for asm module
CHECK: .debug_aranges contents:
CHECK-NEXT: Address Range Header: length = 0x0000002c, format = DWARF32, version = 0x0002, cu_offset = 0x00000000, addr_size = 0x08, seg_size = 0x00
CHECK-NEXT: [0x0000000000[[#ADDR]], 0x0000000000[[#ADDR+1]])
# Check line number info was updated
## Check line number info was updated
CHECK: 0x0000000000[[#ADDR]] 13 0 0 0 0 0 is_stmt
CHECK-NEXT: 0x0000000000[[#ADDR+1]] 13 0 0 0 0 0 is_stmt end_sequence

View File

@ -1,5 +1,5 @@
# Check that BOLT inserts trap instruction at entry to functions that use AVX-512.
# Check that AVX-512 instruction is updated correctly when -trap-avx512=0 is passed.
## Check that BOLT inserts trap instruction at entry to functions that use AVX-512.
## Check that AVX-512 instruction is updated correctly when -trap-avx512=0 is passed.
RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-unknown -o %t.o \
RUN: %S/Inputs/avx512.s
@ -17,11 +17,11 @@ RUN: FileCheck %s --check-prefix=CHECK-DIS-NO-TRAP
CHECK: BOLT-WARNING: 1 function will trap on entry
# Check that we have two ud2 instructions - one per entry.
## Check that we have two ud2 instructions - one per entry.
CHECK-DIS: use_avx512
CHECK-DIS-NEXT: ud2
CHECK-DIS-NEXT: ud2
# Check that we generate correct AVX-512
## Check that we generate correct AVX-512
CHECK-DIS-NO-TRAP: use_avx512
CHECK-DIS-NO-TRAP: 62 e2 f5 70 2c da vscalefpd
CHECK-DIS-NO-TRAP: 62 e2 f5 70 2c da vscalefpd

View File

@ -1,5 +1,5 @@
# This reproduces a bug with dynostats when trying to compute branch stats
# at a block with two tails calls (one conditional and one unconditional).
## This reproduces a bug with dynostats when trying to compute branch stats
## at a block with two tails calls (one conditional and one unconditional).
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
# RUN: %s -o %t.o
@ -17,7 +17,7 @@
# CHECK: {{.*}}: ja {{.*}} # TAILCALL # Offset: 7 # CTCTakenCount: 4
# CHECK-NEXT: {{.*}}: jmp {{.*}} # TAILCALL # Offset: 13
# Confirm that a deleted basic block is emitted at function end offset (0xe)
## Confirm that a deleted basic block is emitted at function end offset (0xe)
# CHECK-BAT: [[#%x,ADDR:]] g .text [[#%x,SIZE:]] _start
# CHECK-BAT: Function Address: 0x[[#%x,ADDR]]
# CHECK-BAT: 0x[[#%x,SIZE]]

View File

@ -1,5 +1,5 @@
# Tests whether llvm-bolt is able to reorder blocks and fix branches
# according to the new function layout.
## Tests whether llvm-bolt is able to reorder blocks and fix branches
## according to the new function layout.
RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe
RUN: llvm-bolt %t.exe -o %t.null --data %p/Inputs/blarge.fdata \
@ -46,4 +46,3 @@ CHECK: Exec Count : 0
CHECK: Predecessors: .Ltmp{{.*}}
CHECK: {{.*}}: movq %rax, (%rsi)
CHECK: {{.*}}: retq

View File

@ -1,8 +1,8 @@
# This checks for an issue with internal calls and BAT (BOLT address
# translation). BAT needs to map every output block back to an input
# block, but passes that introduce new blocks (such as validate
# internal calls) might create new blocks without a mapping to an
# input block.
## This checks for an issue with internal calls and BAT (BOLT address
## translation). BAT needs to map every output block back to an input
## block, but passes that introduce new blocks (such as validate
## internal calls) might create new blocks without a mapping to an
## input block.
# REQUIRES: x86_64-linux,bolt-runtime

View File

@ -1,11 +1,11 @@
# Check new BAT format containing hashes for YAML profile.
## Check new BAT format containing hashes for YAML profile.
RUN: yaml2obj %p/Inputs/blarge_new.yaml &> %t.exe
RUN: llvm-bolt %t.exe -o %t.out --pa -p %p/Inputs/blarge_new.preagg.txt \
RUN: --reorder-blocks=ext-tsp --split-functions --split-strategy=cdsplit \
RUN: --reorder-functions=cdsort --enable-bat --dyno-stats --skip-funcs=main \
RUN: 2>&1 | FileCheck --check-prefix WRITE-BAT-CHECK %s
# Check that branch with entry in BAT is accounted for.
## Check that branch with entry in BAT is accounted for.
RUN: perf2bolt %t.out --pa -p %p/Inputs/blarge_new_bat_branchentry.preagg.txt \
RUN: -w %t.yaml -o %t.fdata
RUN: llvm-bolt %t.exe -data %t.fdata -w %t.yaml-fdata -o %t.null
@ -15,7 +15,7 @@ BRANCHENTRY-YAML-CHECK: - name: SolveCubic
BRANCHENTRY-YAML-CHECK: bid: 0
BRANCHENTRY-YAML-CHECK: hash: 0x700F19D24600000
BRANCHENTRY-YAML-CHECK-NEXT: succ: [ { bid: 7, cnt: 1 }
# Check that the order is correct between BAT YAML and FDATA->YAML.
## Check that the order is correct between BAT YAML and FDATA->YAML.
RUN: perf2bolt %t.out --pa -p %p/Inputs/blarge_new_bat_order.preagg.txt \
RUN: -w %t.yaml -o %t.fdata
RUN: llvm-bolt %t.exe -data %t.fdata -w %t.yaml-fdata -o %t.null
@ -26,16 +26,16 @@ ORDER-YAML-CHECK: bid: 3
ORDER-YAML-CHECK: hash: 0xDDA1DC5F69F900AC
ORDER-YAML-CHECK-NEXT: calls: [ { off: 0x26, fid: [[#]], cnt: 20 } ]
ORDER-YAML-CHECK-NEXT: succ: [ { bid: 5, cnt: 7 }
# Large profile test
## Large profile test
RUN: perf2bolt %t.out --pa -p %p/Inputs/blarge_new_bat.preagg.txt -w %t.yaml -o %t.fdata \
RUN: 2>&1 | FileCheck --check-prefix READ-BAT-CHECK %s
RUN: FileCheck --input-file %t.yaml --check-prefix YAML-BAT-CHECK %s
# Check that YAML converted from fdata matches YAML created directly with BAT.
## Check that YAML converted from fdata matches YAML created directly with BAT.
RUN: llvm-bolt %t.exe -data %t.fdata -w %t.yaml-fdata -o /dev/null \
RUN: 2>&1 | FileCheck --check-prefix READ-BAT-FDATA-CHECK %s
RUN: FileCheck --input-file %t.yaml-fdata --check-prefix YAML-BAT-CHECK %s
# Test resulting YAML profile with the original binary (no-stale mode)
## Test resulting YAML profile with the original binary (no-stale mode)
RUN: llvm-bolt %t.exe -data %t.yaml -o %t.null -dyno-stats 2>&1 \
RUN: | FileCheck --check-prefix CHECK-BOLT-YAML %s

View File

@ -1,9 +1,9 @@
# Check a common case for BOLT address translation tables. These tables are used
# to translate profile activity happening in a bolted binary back to the
# original binary, so you can run BOLT again, with updated profile collected
# in a production environment that only runs bolted binaries. As BOLT only
# takes no-bolt binaries as inputs, this translation is necessary to cover
# this scenario.
## Check a common case for BOLT address translation tables. These tables are used
## to translate profile activity happening in a bolted binary back to the
## original binary, so you can run BOLT again, with updated profile collected
## in a production environment that only runs bolted binaries. As BOLT only
## takes no-bolt binaries as inputs, this translation is necessary to cover
## this scenario.
#
# RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe
# RUN: llvm-bolt %t.exe -o %t.out --data %p/Inputs/blarge.fdata \
@ -11,28 +11,28 @@
# RUN: llvm-bat-dump %t.out --dump-all \
# RUN: --translate=0x401180 | FileCheck %s --check-prefix=CHECK-BAT-DUMP
#
# In this test we focus on function usqrt at address 0x401170. This is a
# non-reloc binary case, so we don't expect this address to change, that's
# why we hardcode its address here. This address also comes hardcoded in the
# blarge.yaml input file.
#
# This is the layout of the function before BOLT reorder blocks:
#
# BB Layout : .LBB02, .Ltmp39, .LFT1, .Ltmp38, .LFT2
#
# This is the layout of the function after BOLT reorder blocks:
#
# BB Layout : .LBB02, .Ltmp38, .Ltmp39, .LFT2, .LFT3
#
# .Ltmp38 is originally at offset 0x39 but gets moved to 0xc (see full dump
# below).
#
# We check that BAT is able to translate references happening in .Ltmp38 to
# its original offset.
#
## In this test we focus on function usqrt at address 0x401170. This is a
## non-reloc binary case, so we don't expect this address to change, that's
## why we hardcode its address here. This address also comes hardcoded in the
## blarge.yaml input file.
##
## This is the layout of the function before BOLT reorder blocks:
##
## BB Layout : .LBB02, .Ltmp39, .LFT1, .Ltmp38, .LFT2
##
## This is the layout of the function after BOLT reorder blocks:
##
## BB Layout : .LBB02, .Ltmp38, .Ltmp39, .LFT2, .LFT3
##
## .Ltmp38 is originally at offset 0x39 but gets moved to 0xc (see full dump
## below).
##
## We check that BAT is able to translate references happening in .Ltmp38 to
## its original offset.
##
# This binary has 3 functions with profile, all of them are split, so 6 maps.
# BAT creates one map per function fragment.
## This binary has 3 functions with profile, all of them are split, so 6 maps.
## BAT creates one map per function fragment.
#
# CHECK: BOLT: 3 out of 7 functions were overwritten.
# CHECK: BOLT-INFO: Wrote 6 BAT maps

View File

@ -1,6 +1,6 @@
# Checks that llvm-bolt is able to read data generated by perf2bolt and update
# the CFG edges accordingly with absolute number of branches and mispredictions.
# Also checks that llvm-bolt disassembler and CFG builder is working properly.
## Checks that llvm-bolt is able to read data generated by perf2bolt and update
## the CFG edges accordingly with absolute number of branches and mispredictions.
## Also checks that llvm-bolt disassembler and CFG builder is working properly.
RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe
RUN: llvm-bolt %t.exe -o %t.null --data %p/Inputs/blarge.fdata --print-cfg | FileCheck %s

View File

@ -1,8 +1,8 @@
# This test checks if BOLT can process stripped binaries, where symbol's section
# header index is corrupted due to strip tool.
## This test checks if BOLT can process stripped binaries, where symbol's section
## header index is corrupted due to strip tool.
# RUN: yaml2obj %p/Inputs/broken_dynsym.yaml -o %t
# RUN: llvm-strip -s %t
# RUN: llvm-bolt %t -o %t.bolt --allow-stripped | FileCheck %s
# CHECK-NOT: section index out of bounds
# CHECK-NOT: section index out of bounds

View File

@ -1,4 +1,4 @@
# Verifies that llvm-bolt correctly sorts functions by their execution counts.
## Verifies that llvm-bolt correctly sorts functions by their execution counts.
# REQUIRES: x86_64-linux, asserts

View File

@ -1,11 +1,11 @@
# Test performs a BB reordering with unsupported
# instruction jrcxz. Reordering works correctly with the
# follow options: None, Normal or Reverse. Other strategies
# are completed with Assertion `isIntN(Size * 8 + 1, Value).
# The cause is the distance between BB where one contains
# jrcxz instruction.
# Example: OpenSSL
# https://github.com/openssl/openssl/blob/master/crypto/bn/asm/x86_64-mont5.pl#L3319
## Test performs a BB reordering with unsupported
## instruction jrcxz. Reordering works correctly with the
## follow options: None, Normal or Reverse. Other strategies
## are completed with Assertion `isIntN(Size * 8 + 1, Value).
## The cause is the distance between BB where one contains
## jrcxz instruction.
## Example: OpenSSL
## https://github.com/openssl/openssl/blob/master/crypto/bn/asm/x86_64-mont5.pl#L3319
# REQUIRES: system-linux

View File

@ -1,6 +1,6 @@
# Test BinaryContext::calculateEmittedSize's functionality to update
# BinaryBasicBlock::OutputAddressRange in place so that the emitted size
# of each basic block is given by BinaryBasicBlock::getOutputSize()
## Test BinaryContext::calculateEmittedSize's functionality to update
## BinaryBasicBlock::OutputAddressRange in place so that the emitted size
## of each basic block is given by BinaryBasicBlock::getOutputSize()
# RUN: llvm-mc --filetype=obj --triple x86_64-unknown-unknown %s -o %t.o
# RUN: link_fdata %s %t.o %t.fdata

View File

@ -1,4 +1,4 @@
# Verifies that llvm-bolt ignores function calls to 0.
## Verifies that llvm-bolt ignores function calls to 0.
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags %t.o -o %t.exe

View File

@ -1,10 +1,10 @@
# Test the control of aggressiveness of 3-way splitting by -call-scale.
# When -call-scale=0.0, the tested function is 2-way splitted.
# When -call-scale=1.0, the tested function is 3-way splitted with 5 blocks
# in warm because of the increased benefit of shortening the call edges.
# When -call-scale=1000.0, the tested function is still 3-way splitted with
# 5 blocks in warm because cdsplit does not allow hot-warm splitting to break
# a fall through branch from a basic block to its most likely successor.
## Test the control of aggressiveness of 3-way splitting by -call-scale.
## When -call-scale=0.0, the tested function is 2-way splitted.
## When -call-scale=1.0, the tested function is 3-way splitted with 5 blocks
## in warm because of the increased benefit of shortening the call edges.
## When -call-scale=1000.0, the tested function is still 3-way splitted with
## 5 blocks in warm because cdsplit does not allow hot-warm splitting to break
## a fall through branch from a basic block to its most likely successor.
# RUN: llvm-mc --filetype=obj --triple x86_64-unknown-unknown %s -o %t.o
# RUN: link_fdata %s %t.o %t.fdata

View File

@ -1,6 +1,6 @@
# Test the correctness of section names and function symbol names post cdsplit.
# Warm section should have name .text.warm and warm function fragments should
# have symbol names ending in warm.
## Test the correctness of section names and function symbol names post cdsplit.
## Warm section should have name .text.warm and warm function fragments should
## have symbol names ending in warm.
# RUN: llvm-mc --filetype=obj --triple x86_64-unknown-unknown %s -o %t.o
# RUN: link_fdata %s %t.o %t.fdata

View File

@ -1,5 +1,5 @@
# Check that llvm-bolt is able to parse DWARF expressions in CFI instructions,
# store them in memory and correctly write them back to the output binary.
## Check that llvm-bolt is able to parse DWARF expressions in CFI instructions,
## store them in memory and correctly write them back to the output binary.
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags %t.o -o %t.exe

View File

@ -1,10 +1,10 @@
# Check that llvm-bolt is able to read a file with DWARF Exception CFI
# information and annotate this into a disassembled function.
## Check that llvm-bolt is able to read a file with DWARF Exception CFI
## information and annotate this into a disassembled function.
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags %t.o -o %t.exe
# RUN: llvm-bolt %t.exe -o %t.null --print-cfg 2>&1 | FileCheck %s
#
#
# CHECK: Binary Function "_Z7catchitv" after building cfg {
# CHECK: CFI Instrs : 6
# CHECK: }
@ -23,7 +23,7 @@
main:
# FDATA: 0 [unknown] 0 1 main 0 0 0
.cfi_startproc
.LBB000:
.LBB000:
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset %rbp, -16
@ -49,7 +49,7 @@ main:
_Z7catchitv:
# FDATA: 0 [unknown] 0 1 _Z7catchitv 0 0 0
.cfi_startproc
.LBB00:
.LBB00:
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset %rbp, -16
@ -64,18 +64,18 @@ _Z7catchitv:
.LBB00_br: jmp .Ltmp0
# FDATA: 1 _Z7catchitv #.LBB00_br# 1 _Z7catchitv #.Ltmp0# 0 0
.LLP0:
.LLP0:
cmpq $0x1, %rdx
.LLP0_br: je .Ltmp1
# FDATA: 1 _Z7catchitv #.LLP0_br# 1 _Z7catchitv #.Ltmp1# 0 0
# FDATA: 1 _Z7catchitv #.LLP0_br# 1 _Z7catchitv #.LFT0# 0 0
.LFT0:
.LFT0:
movq %rax, %rdi
.LFT0_br: callq _Unwind_Resume@PLT
# FDATA: 1 _Z7catchitv #.LFT0_br# 1 _Z7catchitv #.Ltmp1# 0 0
.Ltmp1:
.Ltmp1:
movq %rax, %rdi
callq __cxa_begin_catch@PLT
movq %rax, -0x18(%rbp)
@ -85,7 +85,7 @@ _Z7catchitv:
.Ltmp1_br: jmp .Ltmp2
# FDATA: 1 _Z7catchitv #.Ltmp1_br# 1 _Z7catchitv #.Ltmp2# 0 0
.LLP1:
.LLP1:
movl %edx, %ebx
movq %rax, %r12
callq __cxa_end_catch@PLT
@ -95,11 +95,11 @@ _Z7catchitv:
.LLP1_br: callq _Unwind_Resume@PLT
# FDATA: 1 _Z7catchitv #.LLP1_br# 1 _Z7catchitv #.Ltmp2# 0 0
.Ltmp2:
.Ltmp2:
.Ltmp2_br: callq __cxa_end_catch@PLT
# FDATA: 1 _Z7catchitv #.Ltmp2_br# 1 _Z7catchitv #.Ltmp0# 0 0
.Ltmp0:
.Ltmp0:
addq $0x10, %rsp
popq %rbx
popq %r12

View File

@ -1,5 +1,5 @@
# Check that llvm-bolt is able to read a file with DWARF Exception CFI
# information and fix CFI information after reordering.
## Check that llvm-bolt is able to read a file with DWARF Exception CFI
## information and fix CFI information after reordering.
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: llvm-strip --strip-unneeded %t.o

View File

@ -1,4 +1,4 @@
# This test reproduces the issue with a section which ends at >4G address
## This test reproduces the issue with a section which ends at >4G address
REQUIRES: asserts
RUN: split-file %s %t
RUN: yaml2obj %t/yaml -o %t.exe --max-size=0

View File

@ -1,5 +1,5 @@
# Check that we don't fail processing a function with conditional tail call and
# a fall-through to a next function (result of builtin_unreachable()).
## Check that we don't fail processing a function with conditional tail call and
## a fall-through to a next function (result of builtin_unreachable()).
RUN: %clang %cflags %p/Inputs/ctc_and_unreachable.s -o %t.exe -Wl,-q
RUN: llvm-bolt %t.exe -o %t --print-after-lowering --print-only=foo 2>&1 | FileCheck %s

View File

@ -1,4 +1,4 @@
# Checks debug fission support in BOLT
## Checks debug fission support in BOLT
# REQUIRES: system-linux

View File

@ -1,4 +1,4 @@
# Checks debug fission support in BOLT
## Checks debug fission support in BOLT
# REQUIRES: system-linux

View File

@ -1,7 +1,7 @@
# Test the double jump removal peephole.
## Test the double jump removal peephole.
# This test has commands that rely on shell capabilities that won't execute
# correctly on Windows e.g. subshell execution
## This test has commands that rely on shell capabilities that won't execute
## correctly on Windows e.g. subshell execution
REQUIRES: shell
RUN: %clang %cflags %p/Inputs/double_jump.cpp -o %t.exe

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections &> file
# RUN: cat file | FileCheck --check-prefix=CHECK %s
# Making sure we handle error returned by visitLocationList correctly.
## Making sure we handle error returned by visitLocationList correctly.
# CHECK: BOLT-WARNING: empty location list detected at
# CHECK-NEXT: BOLT-WARNING: empty location list detected at

View File

@ -1,4 +1,4 @@
; Testing that we print out INFO message when binary has split dwarf.
;; Testing that we print out INFO message when binary has split dwarf.
; RUN: mkdir -p %t
; RUN: cd %t

View File

@ -8,7 +8,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# This tests checks that DW_AT_high_pc[DW_FORM_ADDR] can be converted to DW_AT_ranges correctly in Dwarf3
## This tests checks that DW_AT_high_pc[DW_FORM_ADDR] can be converted to DW_AT_ranges correctly in Dwarf3
# PRECHECK: version = 0x0003
# PRECHECK: DW_AT_low_pc

View File

@ -7,8 +7,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that BOLT handles backward cross CU references for dwarf4
# when CUs are have different abbrev tables.
## This test checks that BOLT handles backward cross CU references for dwarf4
## when CUs are have different abbrev tables.
# PRECHECK: DW_TAG_compile_unit
# PRECHECK: DW_TAG_compile_unit

View File

@ -7,8 +7,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that BOLT handles forward cross CU references for dwarf4
# when CUs are have different abbrev tables.
## This test checks that BOLT handles forward cross CU references for dwarf4
## when CUs are have different abbrev tables.
# PRECHECK: DW_TAG_compile_unit
# PRECHECK: DW_AT_abstract_origin [DW_FORM_ref_addr]

View File

@ -8,7 +8,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles location list with DWARF5/DWARF4 when order of CUs is not the same as in input.
## Tests that BOLT correctly handles location list with DWARF5/DWARF4 when order of CUs is not the same as in input.
# PRECHECK: version = 0x0005
# PRECHECK: version = 0x0004

View File

@ -7,6 +7,6 @@
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections -v 1 &> log
; RUN: cat log | FileCheck %s -check-prefix=BOLT-LOG-CHECK
; Test check we don't print out a warning in -v 1 when Unit DIE doesn't have low_pc/high_pc
;; Test check we don't print out a warning in -v 1 when Unit DIE doesn't have low_pc/high_pc
; BOLT-LOG-CHECK-NOT: BOLT-ERROR: cannot update ranges for DIE in Unit offset

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/maindwodwo.txt
; RUN: cat %t/maindwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests that DW_AT_low_pc changes in DW_TAG_GNU_call_site.
;; Tests that DW_AT_low_pc changes in DW_TAG_GNU_call_site.
; PRE-BOLT-DWO-MAIN: version = 0x0004
; PRE-BOLT-DWO-MAIN: DW_TAG_GNU_call_site

View File

@ -10,7 +10,7 @@
; RUN: not llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/maindwodwo.txt
; RUN: cat %t/maindwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests that new indices are assigned to DW_OP_GNU_addr_index.
;; Tests that new indices are assigned to DW_OP_GNU_addr_index.
; PRE-BOLT-DWO-MAIN: version = 0x0004
; PRE-BOLT-DWO-MAIN: DW_AT_location [DW_FORM_exprloc] (DW_OP_GNU_addr_index 0x0)

View File

@ -10,8 +10,8 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo | FileCheck --check-prefix=PRECHECK %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo | FileCheck --check-prefix=POSTCHECK %s
; This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
; when there is only one output range entry.
;; This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
;; when there is only one output range entry.
; PRECHECK: DW_TAG_inlined_subroutine
; PRECHECK: DW_AT_abstract_origin

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-HELPER %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-HELPER %s
; Testing dwarf4 split dwarf for two CUs. Making sure DW_AT_location [DW_FORM_sec_offset] is updated correctly.
;; Testing dwarf4 split dwarf for two CUs. Making sure DW_AT_location [DW_FORM_sec_offset] is updated correctly.
; PRE-BOLT-DWO-MAIN: version = 0x0004
; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10]

View File

@ -20,8 +20,8 @@
; RUN: not llvm-dwarfdump --show-form --verbose --debug-info helper.dwo.dwo &> helperdwodwo.txt
; RUN: cat helperdwodwo.txt | FileCheck -check-prefix=BOLT-DWO-HELPER %s
; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx ##) are updated correctly.
;; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
;; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx ##) are updated correctly.
; PRE-BOLT: version = 0x0004
; PRE-BOLT: DW_TAG_compile_unit

View File

@ -9,8 +9,8 @@
; RUN: llvm-dwarfdump --debug-info --verbose --show-form main.dwo.dwo >> log.txt
; RUN: cat log.txt | FileCheck -check-prefix=BOLT-MAIN %s
; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_low_pc is 0,
; and split dwarf is enabled.
;; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_low_pc is 0,
;; and split dwarf is enabled.
; BOLT-MAIN: 0x
; BOLT-MAIN: 0x

View File

@ -11,7 +11,7 @@
; RUN: not llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/mainddwodwo.txt
; RUN: cat %t/mainddwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests BOLT handles correctly Skeleton CU which has DW_AT_low_pc/DW_AT_ranges as input.
;; Tests that BOLT correctly handles Skeleton CU which has DW_AT_low_pc/DW_AT_ranges as input.
; BOLT: .debug_ranges
; BOLT-NEXT: 00000000 <End of list>

View File

@ -8,8 +8,8 @@
; RUN: llvm-dwarfdump --debug-info main.exe | FileCheck -check-prefix=PRE-BOLT-MAIN %s
; RUN: llvm-dwarfdump --debug-info main.exe.bolt | FileCheck -check-prefix=BOLT-MAIN %s
; Tests whether we add DW_AT_GNU_ranges_base, if it's not present when Skeleton CU has
; DW_AT_ranges.
;; Tests whether we add DW_AT_GNU_ranges_base, if it's not present when Skeleton CU has
;; DW_AT_ranges.
; PRE-BOLT-MAIN-NOT: DW_AT_GNU_ranges_base
; BOLT-MAIN: DW_AT_GNU_ranges_base

View File

@ -6,8 +6,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
# when there is only one output range entry.
## This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
## when there is only one output range entry.
# PRECHECK: DW_TAG_inlined_subroutine
# PRECHECK: DW_AT_abstract_origin

View File

@ -6,10 +6,10 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# LLD does not de-duplicate COMDAT sections for LTO.
# Clang can generate type units with the same hash.
# https://discourse.llvm.org/t/dwarf-different-tu-with-the-same-hash/70095
# Modified helper.s to have the same TU hash with a different COMDAT signature to test this.
## LLD does not de-duplicate COMDAT sections for LTO.
## Clang can generate type units with the same hash.
## https://discourse.llvm.org/t/dwarf-different-tu-with-the-same-hash/70095
## Modified helper.s to have the same TU hash with a different COMDAT signature to test this.
# POSTCHECK: Type Unit: length = 0x00000055, format = DWARF32, version = 0x0004,
# POSTCHECK-SAME: abbr_offset = 0x0000, addr_size = 0x08, name = 'Foo', type_signature = 0x675d23e4f33235f2, type_offset = 0x001e (next unit at 0x00000059)

View File

@ -10,8 +10,8 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.exe.bolt.dwp | FileCheck -check-prefix=BOLT %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-TU-INDEX %s
; Test input into bolt a .dwo file with TU Index.
; Make sure the output .dwp file has a type information.
;; Test input into bolt a .dwo file with TU Index.
;; Make sure the output .dwp file has a type information.
; PRE-BOLT: DW_TAG_type_unit
; PRE-BOLT: DW_TAG_type_unit

View File

@ -12,9 +12,9 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.exe.bolt.dwp | FileCheck -check-prefix=BOLT %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-TU-INDEX %s
; Test input into bolt a .dwo file with TU Index.
; Test split-dwarf and monolithic TUs.
; Make sure the output .dwp file has a type information.
;; Test input into bolt a .dwo file with TU Index.
;; Test split-dwarf and monolithic TUs.
;; Make sure the output .dwp file has a type information.
; PRE-BOLT: 0x675d23e4f33235f2
; PRE-BOLT: DW_TAG_type_unit

View File

@ -11,8 +11,8 @@
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.dwo.dwo | FileCheck -check-prefix=BOLT %s
; Test input into bolt a DWP file with TU Index.
; Make sure output in the .dwo files has type information.
;; Test input into bolt a DWP file with TU Index.
;; Make sure output in the .dwo files has type information.
; PRE-BOLT: DW_TAG_type_unit
; PRE-BOLT: DW_TAG_type_unit

View File

@ -12,8 +12,8 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.exe.bolt.dwp | FileCheck -check-prefix=BOLT %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-TU-INDEX %s
; Test input into bolt a DWP file with TU Index.
; Make sure the output .dwp file has a type information.
;; Test input into bolt a DWP file with TU Index.
;; Make sure the output .dwp file has a type information.
; PRE-BOLT: DW_TAG_type_unit
; PRE-BOLT: DW_TAG_type_unit

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %tgdb.exe -o %tgdb.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %tgdb.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB.
## Tests that BOLT correctly handles gdb-index generated by GDB.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -6,7 +6,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by LLD.
## Tests that BOLT correctly handles gdb-index generated by LLD.
# POSTCHECK: Version = 7
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -6,7 +6,7 @@
# RUN: cat %tlog.txt | FileCheck --check-prefix=CHECKBOLT %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=CHECK %s
# Tests BOLT does not assert when DIE reference is invalid.
## Tests BOLT does not assert when DIE reference is invalid.
# CHECKBOLT: Referenced DIE offsets not in .debug_info
# CHECKBOLT-NEXT: 91

View File

@ -6,7 +6,7 @@
# RUN: cat %tlog.txt | FileCheck --check-prefix=CHECKBOLT %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=CHECK %s
# Tests BOLT does not assert when DIE reference is invalid.
## Tests BOLT does not assert when DIE reference is invalid.
# CHECKBOLT: BOLT-WARNING: [internal-dwarf-error]: could not parse referenced DIE at offset:
# CHECKBOLT-NOT: Referenced DIE offsets not in .debug_info

View File

@ -6,7 +6,7 @@
# RUN: cat %tlog.txt | FileCheck --check-prefix=CHECKBOLT %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=CHECK %s
# Tests BOLT does not assert when DIE reference is invalid.
## Tests BOLT does not assert when DIE reference is invalid.
# CHECKBOLT: BOLT-WARNING: [internal-dwarf-error]: invalid referenced DIE at offset:
# CHECKBOLT-NOT: Referenced DIE offsets not in .debug_info

View File

@ -5,9 +5,9 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that BOLT handles DW_AT_sibling.
## This test checks that BOLT handles DW_AT_sibling.
# The assembly was manually modified to do cross CU reference.
## The assembly was manually modified to do cross CU reference.
# POSTCHECK: version = 0x0004
# POSTCHECK: DW_TAG_structure_type [5]

View File

@ -16,8 +16,8 @@
# CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000000)
# Testing BOLT handles correctly when size of DW_AT_inlined_subroutine is 0.
# In other words DW_AT_high_pc is 0 or DW_AT_low_pc == DW_AT_high_pc.
## Testing BOLT handles correctly when size of DW_AT_inlined_subroutine is 0.
## In other words DW_AT_high_pc is 0 or DW_AT_low_pc == DW_AT_high_pc.
# Modified assembly manually to set DW_AT_high_pc to 0.
# clang++ -g2 -gdwarf-4 main.cpp -O1 -S -o main4.s

View File

@ -9,7 +9,7 @@
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.exe.bolt | FileCheck -check-prefix=BOLT %s
; Testing that there are no asserts/crashes when one of the DWARF4 CUs does not modify .debug_addr
;; Testing that there are no asserts/crashes when one of the DWARF4 CUs does not modify .debug_addr
; BOLT: DW_TAG_compile_unit
; BOLT: DW_TAG_compile_unit

View File

@ -10,7 +10,7 @@
# RUN: llvm-bolt maingdb.exe -o maingdb.exe.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index maingdb.exe.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB with split-dwarf DWARF4.
## Tests that BOLT correctly handles gdb-index generated by GDB with split-dwarf DWARF4.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t1.txt
# RUN: cat %t1.txt | FileCheck --check-prefix=POSTCHECK %s
# This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with multiple entries.
## This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with multiple entries.
# POSTCHECK: _Z7doStuffi>:
# POSTCHECK: [[#%.6x,ADDR:]]

View File

@ -6,7 +6,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt > %t1.txt
# RUN: cat %t1.txt | FileCheck --check-prefix=POSTCHECK %s
# This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with single entry, when function was GCed.
## This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with single entry, when function was GCed.
# POSTCHECK: DW_TAG_subprogram
# POSTCHECK-NEXT: DW_AT_frame_base

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t1.txt
# RUN: cat %t1.txt | FileCheck --check-prefix=POSTCHECK %s
# This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with single entry.
## This test checks BOLT correctly handles DW_TAG_subprogram with Ranges with single entry.
# POSTCHECK: _Z7doStuffi>:
# POSTCHECK: [[#%.6x,ADDR:]]

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECKTU %s
# Check BOLT handles DWARF4/5 with fdebug-types.
## Check BOLT handles DWARF4/5 with fdebug-types.
# POSTCHECK: version = 0x0005
# POSTCHECK: DW_TAG_type_unit

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECKTU %s
# Check BOLT handles DWARF4 with fdebug-types, and DWARF5 without.
## Check BOLT handles DWARF4 with fdebug-types, and DWARF5 without.
# POSTCHECK: version = 0x0004
# POSTCHECK: DW_TAG_compile_unit

View File

@ -5,8 +5,8 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that BOLT handles correctly backward and forward cross CU references
# for DWARF4 with -fdebug-types-section
## This test checks that BOLT handles correctly backward and forward cross CU references
## for DWARF4 with -fdebug-types-section
# POSTCHECK: version = 0x0004
# POSTCHECK: DW_TAG_variable [10]

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECKTU %s
# Check BOLT handles DWARF4/5 with fdebug-types.
## Check BOLT handles DWARF4/5 with fdebug-types.
# POSTCHECK: version = 0x0004
# POSTCHECK: DW_TAG_compile_unit [6]

View File

@ -6,8 +6,8 @@
# RUN: llvm-bolt %t.exe -o %t.exe.bolt --update-debug-sections
# RUN: llvm-dwarfdump --debug-info %t.exe.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that when a binary is bolted if CU is not modified and has DW_AT_addr_base that is shared
# after being bolted CUs still share same entry in .debug_addr.
## This test checks that when a binary is bolted if CU is not modified and has DW_AT_addr_base that is shared
## after being bolted CUs still share same entry in .debug_addr.
# PRECHECK: DW_AT_addr_base (0x00000008)
# PRECHECK: DW_AT_addr_base (0x00000008)

View File

@ -8,8 +8,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=CHECK %s
# Test checks we correctly handle nullptr returned by getBinaryFunctionContainingAddress for DW_AT_call_pc.
# This happens when address is not contained in any function.
## Test checks we correctly handle nullptr returned by getBinaryFunctionContainingAddress for DW_AT_call_pc.
## This happens when address is not contained in any function.
# CHECK: DW_AT_call_pc [DW_FORM_addrx]
# CHECK-SAME: address = 0x[[#%.16x,ADDR:]]

View File

@ -11,7 +11,7 @@
# RUN: cat %tmain.txt | FileCheck --check-prefix=PRECHECK %s
# RUN: cat %tmainbolt.txt | FileCheck --check-prefix=POSTCHECK %s
# Test checks that DW_AT_call_pc address points to a correct address for jmp instruction.
## Test checks that DW_AT_call_pc address points to a correct address for jmp instruction.
# PRECHECK: DW_TAG_call_site [6]
# PRECHECK-NEXT: DW_AT_call_origin [DW_FORM_ref4]

View File

@ -7,7 +7,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This tests checks that we handle correctly, don't crash, DWARF5 CUs that does not access .debug_addr.
## This tests checks that we handle correctly, don't crash, DWARF5 CUs that does not access .debug_addr.
# PRECHECK: DW_TAG_compile_unit
# PRECHECK: DW_AT_addr_base

View File

@ -6,7 +6,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that .debug_line gets generated correctly when .debug_info is DWARF5, and .debug_line is DWARF4.
## This test checks that .debug_line gets generated correctly when .debug_info is DWARF5, and .debug_line is DWARF4.
# PRECHECK: version: 4
# PRECHECK: file_names[ 1]:

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that BOLT generates correct debug_line_str when one of CU contributions is not modified.
## This test checks that BOLT generates correct debug_line_str when one of CU contributions is not modified.
# POSTCHECK: version: 5
# POSTCHECK: include_directories[ 0] = .debug_line_str[{{.*}}] = "/test"

View File

@ -6,7 +6,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that DWARF5 .debug_line is handled correctly.
## This test checks that DWARF5 .debug_line is handled correctly.
# PRECHECK: version: 5
# PRECHECK: include_directories[ 0] = .debug_line_str

View File

@ -8,7 +8,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# This tests checks that re-writing of .debug_loclists is handled correctly.
## This tests checks that re-writing of .debug_loclists is handled correctly.
# PRECHECK: version = 0x0005
# PRECHECK: DW_AT_loclists_base [DW_FORM_sec_offset] (0x0000000c)

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/maindwodwo.txt
; RUN: cat %t/maindwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests that DW_AT_low_pc changes in DW_TAG_call_site.
;; Tests that DW_AT_low_pc changes in DW_TAG_call_site.
; PRE-BOLT-DWO-MAIN: version = 0x0005
; PRE-BOLT-DWO-MAIN: DW_TAG_call_site

View File

@ -10,7 +10,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/maindwodwo.txt
; RUN: cat %t/maindwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests that new indices are assigned to DW_OP_GNU_addr_index.
;; Tests that new indices are assigned to DW_OP_GNU_addr_index.
; PRE-BOLT-DWO-MAIN: version = 0x0005
; PRE-BOLT-DWO-MAIN: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0)

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.exe.bolt >> addr.txt
; RUN: cat addr.txt | FileCheck -check-prefix=BOLT %s
; Tests we generate range when linker GCs only function used in CU
;; Tests we generate range when linker GCs only function used in CU
; BOLT: Addrs:
; BOLT-NEXT: 0x[[#%.16x,ADDR:]]

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-HELPER %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-HELPER %s
; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_location [DW_FORM_loclistx] is updated correctly.
;; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_location [DW_FORM_loclistx] is updated correctly.
; PRE-BOLT-DWO-MAIN: version = 0x0005
; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10]

View File

@ -16,8 +16,8 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-HELPER %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-HELPER %s
; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx ##) are updated correctly.
;; Testing dwarf5 split dwarf for two CUs. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
;; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx ##) are updated correctly.
; PRE-BOLT: version = 0x0005
; PRE-BOLT: DW_TAG_skeleton_unit

View File

@ -19,8 +19,8 @@
; RUN: cat log.txt | FileCheck -check-prefix=BOLT-PRE %s
; RUN: cat logBolt.txt | FileCheck -check-prefix=BOLT-MAIN %s
; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_ranges is 0,
; and split dwarf is enabled.
;; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_ranges is 0,
;; and split dwarf is enabled.
; BOLT-PRE: Addrs:
; BOLT-PRE: 0x0000000000000000

View File

@ -9,8 +9,8 @@
; RUN: llvm-dwarfdump --debug-info --verbose --show-form main.dwo.dwo >> log.txt
; RUN: cat log.txt | FileCheck -check-prefix=BOLT-MAIN %s
; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_ranges is 0,
; and split dwarf is enabled.
;; Tests whether BOLT handles correctly DW_TAG_inlined_subroutine when DW_AT_ranges is 0,
;; and split dwarf is enabled.
; BOLT-MAIN: 0x
; BOLT-MAIN: 0x

View File

@ -12,7 +12,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo &> %t/mainddwodwo.txt
; RUN: cat %t/mainddwodwo.txt | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Tests BOLT handles correctly Skeleton CU which has DW_AT_low_pc/DW_AT_ranges as input.
;; Tests that BOLT correctly handles Skeleton CU which has DW_AT_low_pc/DW_AT_ranges as input.
; BOLT: Addrs: [
; BOLT-NEXT: 0x[[#%.16x,ADDR1:]]

View File

@ -13,7 +13,7 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-MAIN %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-MAIN %s
; Testing dwarf5 mix of split dwarf and monolithic CUs.
;; Testing dwarf5 mix of split dwarf and monolithic CUs.
; PRE-BOLT: version = 0x0005
; PRE-BOLT: DW_TAG_skeleton_unit

View File

@ -14,15 +14,15 @@
; RUN: llvm-dwarfdump --debug-info main.exe.bolt >> log
; RUN: cat log | FileCheck -check-prefix=BOLT %s
; Tests that BOLT handles correctly writing out .dwo files to the same directory when input has input where part of path
; is in DW_AT_dwo_name and the .dwo file names are the same.
;; Tests that BOLT handles correctly writing out .dwo files to the same directory when input has input where part of path
;; is in DW_AT_dwo_name and the .dwo file names are the same.
; BOLT: split.dwo0.dwo
; BOLT: split.dwo1.dwo
; BOLT: DW_AT_dwo_name ("split.dwo0.dwo")
; BOLT: DW_AT_dwo_name ("split.dwo1.dwo")
; Tests that when --dwarf-output-path is specified, but path do not exist BOLT creates it.
;; Tests that when --dwarf-output-path is specified, but path do not exist BOLT creates it.
; RUN: rm -rf dwo
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections --dwarf-output-path=%t/dwo
@ -30,8 +30,8 @@
; RUN: llvm-dwarfdump --debug-info main.exe.bolt >> log
; RUN: cat log | FileCheck -check-prefix=BOLT1 %s
; Tests that BOLT handles correctly writing out .dwo files to the same directory when input has input where part of path
; is in DW_AT_dwo_name and the .dwo file names are the same.
;; Tests that BOLT handles correctly writing out .dwo files to the same directory when input has input where part of path
;; is in DW_AT_dwo_name and the .dwo file names are the same.
; BOLT1: split.dwo0.dwo
; BOLT1: split.dwo1.dwo

View File

@ -11,7 +11,7 @@
; RUN: llvm-dwarfdump --debug-info -r 0 main.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-DWO-MAIN %s
; RUN: llvm-dwarfdump --debug-info -r 0 helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-DWO-HELPER %s
; Tests that BOLT correctly handles DWARF5 DWP file as input. Output has correct CU, and all the type units are written out.
;; Tests that BOLT correctly handles DWARF5 DWP file as input. Output has correct CU, and all the type units are written out.
; BOLT-DWO-DWO-MAIN: debug_info.dwo
; BOLT-DWO-DWO-MAIN-NEXT: type_signature = 0x49dc260088be7e56

View File

@ -6,8 +6,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
# when there is only one output range entry.
## This test checks that we do not convert low_pc/high_pc to ranges for DW_TAG_inlined_subroutine,
## when there is only one output range entry.
# PRECHECK: DW_TAG_inlined_subroutine
# PRECHECK: DW_AT_abstract_origin

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %tgdb.exe -o %tgdb.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %tgdb.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB.
## Tests that BOLT correctly handles gdb-index generated by GDB.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %tgdb.exe -o %tgdb.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %tgdb.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB.
## Tests that BOLT correctly handles gdb-index generated by GDB.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 3 entries

View File

@ -6,7 +6,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by LLD.
## Tests that BOLT correctly handles gdb-index generated by LLD.
# POSTCHECK: Version = 7
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -15,7 +15,7 @@
# RUN: FileCheck --check-prefix=CHECK-LINE %s --input-file %t_line.txt
# Check BOLT handles monolithic mix of DWARF4 and DWARF5.
## Check BOLT handles monolithic mix of DWARF4 and DWARF5.
# main.cpp
# PRECHECK: version = 0x0005

View File

@ -7,8 +7,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECKTU %s
# This test checks that BOLT handles correctly backward and forward cross CU references
# for DWARF5 and DWARF4 with -fdebug-types-section
## This test checks that BOLT handles correctly backward and forward cross CU references
## for DWARF5 and DWARF4 with -fdebug-types-section
# POSTCHECK: version = 0x0005
# POSTCHECK: DW_TAG_type_unit

View File

@ -13,9 +13,9 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-TU-INDEX %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-cu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-CU-INDEX %s
; Test input into bolt a .dwo file with TU Index.
; Test split-dwarf and monolithic TUs.
; Make sure the output .dwp file has a type and cu information.
;; Test input into bolt a .dwo file with TU Index.
;; Test split-dwarf and monolithic TUs.
;; Make sure the output .dwp file has a type and cu information.
; PRE-BOLT: Type Unit
; PRE-BOLT-SAME: 0x675d23e4f33235f2

View File

@ -13,8 +13,8 @@
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections
; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo | FileCheck -check-prefix=BOLT %s
; Test input into bolt a DWP file with TU Index.
; Make sure output in the .dwo files has type information.
;; Test input into bolt a DWP file with TU Index.
;; Make sure output in the .dwo files has type information.
; PRE-BOLT: DW_TAG_type_unit
; PRE-BOLT: DW_TAG_type_unit

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %tgdb.exe -o %tgdb.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %tgdb.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB.
## Tests that BOLT correctly handles gdb-index generated by GDB.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -7,7 +7,7 @@
# RUN: llvm-bolt %tgdb.exe -o %tgdb.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %tgdb.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by GDB.
## Tests that BOLT correctly handles gdb-index generated by GDB.
# POSTCHECK: Version = 8
# POSTCHECK: CU list offset = 0x18, has 4 entries

View File

@ -6,7 +6,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --gdb-index %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# Tests that BOLT correctly handles gdb-index generated by LLD.
## Tests that BOLT correctly handles gdb-index generated by LLD.
# POSTCHECK: Version = 7
# POSTCHECK: CU list offset = 0x18, has 2 entries

View File

@ -12,8 +12,8 @@
; RUN: llvm-dwarfdump --show-form --verbose --debug-info mainlocadddrx.dwo | FileCheck -check-prefix=PRE-BOLT-DWO %s
; RUN: llvm-dwarfdump --show-form --verbose --debug-info mainlocadddrx.dwo.dwo | FileCheck -check-prefix=BOLT-DWO %s
; Testing dwarf5 split dwarf. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0) is updated correctly.
;; Testing dwarf5 split dwarf. Making sure DW_AT_low_pc/DW_AT_high_pc are converted correctly in the binary and in dwo.
;; Checking that DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0) is updated correctly.
; PRE-BOLT: version = 0x0005
; PRE-BOLT: DW_TAG_skeleton_unit

View File

@ -6,8 +6,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
# This test checks that we correctly encode new index into .debug_addr section
# from DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x#)
## This test checks that we correctly encode new index into .debug_addr section
## from DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x#)
# PRECHECK: version = 0x0005
# PRECHECK: DW_TAG_variable

View File

@ -6,7 +6,7 @@
# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=CHECK %s
# This test checks that we update relative DIE references with DW_OP_convert that are in locexpr.
## This test checks that we update relative DIE references with DW_OP_convert that are in locexpr.
# CHECK: version = 0x0005
# CHECK: DW_TAG_variable

View File

@ -9,7 +9,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# Checks we can handle DWARF5 CU with DWARF4 DW_AT_location access pattern.
## Checks we can handle DWARF5 CU with DWARF4 DW_AT_location access pattern.
# PRECHECK: DW_TAG_compile_unit
# PRECHECK: DW_TAG_variable [5]

View File

@ -8,8 +8,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# This tests checks that DW_AT_low_pc/DW_AT_high_pc is converted to DW_AT_low_pc/DW_AT_ranges.
# Checks that DW_AT_rnglists_base is inserted, and that correct address is used.
## This tests checks that DW_AT_low_pc/DW_AT_high_pc is converted to DW_AT_low_pc/DW_AT_ranges.
## Checks that DW_AT_rnglists_base is inserted, and that correct address is used.
# PRECHECK: version = 0x0005
# PRECHECK: DW_AT_low_pc

View File

@ -21,7 +21,7 @@
# CHECK: DW_AT_decl_line [DW_FORM_data1]
# CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x2, DW_OP_piece 0x4, DW_OP_addrx 0x3, DW_OP_piece 0x4)
# This test checks that we update DW_AT_location [DW_FORM_exprloc] with multiple DW_OP_addrx.
## This test checks that we update DW_AT_location [DW_FORM_exprloc] with multiple DW_OP_addrx.
# struct pair {int i; int j; };
# static pair p;

View File

@ -9,8 +9,8 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# This tests checks that re-writing of .debug_loclists is handled correctly when one of the CUs
# doesn't have any DW_AT_location accesses.
## This tests checks that re-writing of .debug_loclists is handled correctly when one of the CUs
## doesn't have any DW_AT_location accesses.
# PRECHECK: version = 0x0005
# PRECHECK: DW_AT_loclists_base [DW_FORM_sec_offset] (0x0000000c)

View File

@ -8,7 +8,7 @@
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt
# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s
# This tests conversion for DWARF5 ranges DW_AT_ranges [DW_FORM_sec_offset] to DW_AT_ranges [DW_FORM_rnglistx]
## This tests conversion for DWARF5 ranges DW_AT_ranges [DW_FORM_sec_offset] to DW_AT_ranges [DW_FORM_rnglistx]
# PRECHECK: version = 0x0005
# PRECHECK: DW_AT_ranges [DW_FORM_sec_offset]

View File

@ -11,7 +11,7 @@
# RUN: cat %tmain.txt | FileCheck --check-prefix=PRECHECK %s
# RUN: cat %tmainbolt.txt | FileCheck --check-prefix=POSTCHECK %s
# Test checks that DW_AT_call_return_pc points to an address after the callq instruction.
## Test checks that DW_AT_call_return_pc points to an address after the callq instruction.
# PRECHECK: DW_TAG_call_site [11]
# PRECHECK-NEXT: DW_AT_call_origin [DW_FORM_ref4]

Some files were not shown because too many files have changed in this diff Show More