llvm.org GIT mirror llvm / 3776c52
llvm-dwarfdump: Make -brief the default and add a -verbose option instead. Differential Revision: https://reviews.llvm.org/D37717 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312972 91177308-0d34-0410-b5e6-96231b3b80d8 Adrian Prantl 2 years ago
210 changed file(s) with 301 addition(s) and 298 deletion(s). Raw diff Collapse all Expand all
None ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-info -v - | FileCheck %s
11
22 source_filename = "test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll"
33 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
None ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-info -v - | FileCheck %s
11
22 ; CHECK: DW_TAG_variable
33 ; CHECK-NOT: DW_TAG
None ; RUN: llc -filetype=obj -O0 < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -filetype=obj -O0 < %s | llvm-dwarfdump -v - | FileCheck %s
11
22 ; debug_info content
33 ; CHECK: DW_AT_name {{.*}} "foobar_func_block_invoke_0"
None ; RUN: llc -mtriple=i686-- -O0 < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -mtriple=i686-- -O0 < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
11
22 ; CHECK-LABEL: .debug_info contents:
33
None ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: llc < %s -filetype=obj -regalloc=basic | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v -debug-info - | FileCheck %s
1 ; RUN: llc < %s -filetype=obj -regalloc=basic | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
33 target triple = "x86_64-apple-darwin10.0.0"
44
0 ; RUN: llc -o - %s | FileCheck %s
1 ; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF
1 ; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF
22 ; This test checks that parameters on the stack pointer are correctly
33 ; referenced by debug info.
44 target triple = "x86_64--"
0 ; RUN: llc -dwarf-version=4 -generate-type-units \
11 ; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
2 ; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SINGLE-4
2 ; RUN: | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SINGLE-4
33
44 ; RUN: llc -split-dwarf-file=foo.dwo -dwarf-version=4 -generate-type-units \
55 ; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
6 ; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SPLIT-4
6 ; RUN: | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SPLIT-4
77
88 ; RUN: llc -dwarf-version=5 -generate-type-units \
99 ; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
10 ; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SINGLE-5
10 ; RUN: | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SINGLE-5
1111
1212 ; RUN: llc -split-dwarf-file=foo.dwo -dwarf-version=5 -generate-type-units \
1313 ; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
14 ; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SPLIT-5
14 ; RUN: | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SPLIT-5
1515
1616 ; Looking for DWARF headers to be generated correctly.
1717 ; There are 7 variants: v4 CU, v4 TU, v5 (normal/skeleton/split) CU,
None ; RUN: llc -O0 -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -O0 -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
11 ;
22 ; Derived from (clang -O0 -g -fsanitize=address -fobjc-arc)
33 ; @protocol NSObject
0 ; RUN: llc -mtriple aarch64_be-gnu-linux -O0 -filetype=obj -o %t_be.o %s
1 ; RUN: llvm-dwarfdump -debug-info %t_be.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t_be.o | FileCheck %s
22
33 ; Produced at -O0 from:
44 ; struct bitfield {
0 ; RUN: llc -mtriple=aarch64-non-linux-gnu -dwarf-version=4 < %s -filetype=obj \
1 ; RUN: | llvm-dwarfdump - | FileCheck -check-prefix=CHECK -check-prefix=CHECK-4 %s
1 ; RUN: | llvm-dwarfdump -v - | FileCheck -check-prefix=CHECK -check-prefix=CHECK-4 %s
22 ; RUN: llc -mtriple=aarch64-non-linux-gnu -dwarf-version=3 < %s -filetype=obj \
3 ; RUN: | llvm-dwarfdump - | FileCheck -check-prefix=CHECK -check-prefix=CHECK-3 %s
3 ; RUN: | llvm-dwarfdump -v - | FileCheck -check-prefix=CHECK -check-prefix=CHECK-3 %s
44
55 ; We're mostly checking that relocations are applied correctly
66 ; here. Currently R_AARCH64_ABS32 is used for references to debug data
None ; RUN: llc -disable-fp-elim -O0 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -disable-fp-elim -O0 -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
11 ; Test that a variable with multiple entries in the MMI table makes it into the
22 ; debug info.
33 ;
None ; RUN: llc -mtriple=aarch64-none-linux -O0 -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump - | FileCheck %s
1 ; RUN: llc -mtriple=aarch64_be-none-linux -O0 -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -mtriple=aarch64-none-linux -O0 -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump -v - | FileCheck %s
1 ; RUN: llc -mtriple=aarch64_be-none-linux -O0 -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump -v - | FileCheck %s
22
33 ; check line table length is correctly calculated for both big and little endian
44 CHECK-LABEL: .debug_line contents:
None ; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump - 2>&1 | FileCheck %s
0 ; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump -v - 2>&1 | FileCheck %s
11
22 ; LLVM IR generated with the following command and OpenCL source:
33 ;
None ; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 ; LLVM IR generated with the following command and OpenCL source:
33 ;
None ; RUN: llc -O0 -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -O0 -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -verify-machineinstrs -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 ; LLVM IR generated with the following command and OpenCL source:
33 ;
None ; RUN: llc -filetype=obj -o - < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -filetype=obj -o - < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ;
22 ; Checks that we're creating two ranges, one that terminates immediately
33 ; and one that spans the rest of the function. This isn't necessarily the
0 ; RUN: llc -O0 -filetype=obj -mtriple=armeb-none-freebsd -debugger-tune=lldb %s -o - \
1 ; RUN: | llvm-dwarfdump --debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s
22 ; Generated from:
33 ; struct S {
44 ; int j:5;
0 ; RUN: %llc_dwarf -O0 -filetype=obj -o %t.o %s
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22 ; REQUIRES: object-emission
33 ;
44 ; Generated from:
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v - | FileCheck %s
11 ; This tests a fragment that partially covers subregister compositions.
22 ;
33 ; Our fragment is 96 bits long and lies in a 128-bit register, which
0 ; RUN: %llc_dwarf -O0 -filetype=obj -o %t.o %s
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22 ; REQUIRES: object-emission
33 target datalayout = "e-m:o-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
44 target triple = "thumbv7-apple-unknown-macho"
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj -o - < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj -o - < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33 ; Radar 7833483
44 ; Do not emit a separate out-of-line definition DIE for the function-local 'foo'
55 ; function (member of the function local 'A' type)
22 ; For some reason, the output when targetting sparc is not quite as expected.
33 ; XFAIL: sparc
44
5 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -debug-info - | FileCheck %s
5 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
66
77 ; IR generated from clang -O0 with:
88 ; struct C {
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Ensure that pointer constants are emitted as unsigned data. Alternatively,
55 ; these could be signless data (dataN).
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -debug-info - | FileCheck -implicit-check-not=DW_TAG %s
3 ; RUN: %llc_dwarf -dwarf-accel-tables=Enable -dwarf-linkage-names=All -O0 -filetype=obj < %s | llvm-dwarfdump - | FileCheck --check-prefix=CHECK-ACCEL --check-prefix=CHECK %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck -implicit-check-not=DW_TAG %s
3 ; RUN: %llc_dwarf -dwarf-accel-tables=Enable -dwarf-linkage-names=All -O0 -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck --check-prefix=CHECK-ACCEL --check-prefix=CHECK %s
44
55 ; Build from source:
66 ; $ clang++ a.cpp b.cpp -g -c -emit-llvm
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Testing that two distinct (distinct by writing them in separate files, while
55 ; still fulfilling C++'s ODR by having identical token sequences) functions,
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Built from source:
55 ; $ clang++ a.cpp b.cpp -g -c -emit-llvm
0 ; REQUIRES: object-emission
11 ; RUN: %llc_dwarf -O0 -filetype=obj %s -o %t
2 ; RUN: llvm-dwarfdump %t | FileCheck %s
2 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
33
44 ; Check that we emit ranges for this which has a non-traditional section and a normal section.
55
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Built from the following source with clang -O1
55 ; struct S { int i; };
1313 ; auto pr = &A::r;
1414 ; }
1515 ;
16 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump - | FileCheck %s
16 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -v - | FileCheck %s
1717 ; CHECK: DW_TAG_subroutine_type DW_CHILDREN_yes
1818 ; CHECK-NEXT: DW_AT_reference DW_FORM_flag_present
1919 ; CHECK: DW_TAG_subroutine_type DW_CHILDREN_yes
0 ; REQUIRES: object-emission
11 ;
2 ; RUN: %llc_dwarf -filetype=obj -O0 -dwarf-linkage-names=All < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -filetype=obj -O0 -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Make sure we can handle enums with the same identifier but in enum types of
55 ; different compile units.
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
44
55 ; IR generated from the following code compiled with clang -g:
66 ; enum e1 { I, J = 0xffffffffU, K = 0xf000000000000000ULL } a;
0 ; REQUIRES: object-emission
1 ; RUN: %llc_dwarf -O0 -filetype=obj < %S/gmlt_profiling.ll | llvm-dwarfdump - | FileCheck %S/gmlt_profiling.ll
1 ; RUN: %llc_dwarf -O0 -filetype=obj < %S/gmlt_profiling.ll | llvm-dwarfdump -v - | FileCheck %S/gmlt_profiling.ll
22
33 ; CHECK: .debug_info
44 ; CHECK: DW_TAG_subprogram
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
33
44 ; Generated from the following source:
55 ; namespace ns {
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O2 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O2 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; This is a test case that's as reduced as I can get it, though I haven't fully
55 ; understood the mechanisms by which this bug occurs, so perhaps there's further
None ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=Abstract < %s | llvm-dwarfdump -debug-info - > %t
0 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=Abstract < %s | llvm-dwarfdump -v -debug-info - > %t
11 ; RUN: FileCheck %s -check-prefix=ONENAME < %t
22 ; RUN: FileCheck %s -check-prefix=REF < %t
33 ; Verify tuning for SCE gets us Abstract only.
4 ; RUN: %llc_dwarf -O0 -filetype=obj -debugger-tune=sce < %s | llvm-dwarfdump -debug-info - > %t
4 ; RUN: %llc_dwarf -O0 -filetype=obj -debugger-tune=sce < %s | llvm-dwarfdump -v -debug-info - > %t
55 ; RUN: FileCheck %s -check-prefix=ONENAME < %t
66 ; RUN: FileCheck %s -check-prefix=REF < %t
77 ; REQUIRES: object-emission
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
44
55 ; Make sure we're emitting DW_AT_main_subprogram.
66 ; CHECK: DW_TAG_subprogram
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; generated by clang from:
55 ; struct foo {
11 ; XFAIL: hexagon
22
33 ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t
4 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
4 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
55 ; CHECK: DW_TAG_ptr_to_member_type
66 ; CHECK: DW_TAG_ptr_to_member_type
77 ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE:0x[0-9a-f]+]]})
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; The formal parameter 'b' for Function 'x' when inlined within 'a' is lost on
55 ; mips and powerpc64 (and on x86_64 at at least -O2). Presumably this is a
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v - | FileCheck %s
33 ; CHECK: debug_info contents
44 ; CHECK: DW_AT_name{{.*}}= [[F1:.*]])
55 ; CHECK: [[NS1:0x[0-9a-f]*]]:{{ *}}DW_TAG_namespace
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Generated from clang with the following source:
55 ; namespace ns {
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; Generate from clang with the following source. Note that the definition of
55 ; the inline function follows its use to workaround another bug that should be
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
2 ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
33
44 ; Test that a nodebug function (a function not appearing in the debug info IR
55 ; metadata subprogram list) with DebugLocs on its IR doesn't cause crashes/does
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
44
55 ; Check that pointers and references get emitted without size information in
66 ; DWARF, even if they are so specified in the IR
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; This isn't a very pretty test case - I imagine there might be other ways to
55 ; tickle the optimizers into producing the desired code, but I haven't found
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V2 %s
3 ; RUN: %llc_dwarf -dwarf-version=3 -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V3 %s
2 ; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V2 %s
3 ; RUN: %llc_dwarf -dwarf-version=3 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V3 %s
44
55 ; CHECK: DW_AT_name {{.*}} "dst"
66 ; V2: DW_AT_type {{.*}} {[[PTR:0x.*]]}
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
33 ; Use correct signedness when emitting constants of derived (sugared) types.
44
55 ; CHECK: DW_AT_const_value [DW_FORM_sdata] (42)
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
44
55 ; This was pulled from clang's debug-info-template-recursive.cpp test.
66 ; class base { };
0 ; REQUIRES: object-emission
11
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; CHECK: DW_TAG_subprogram
55 ; CHECK: DW_AT_name {{.*}} "f"
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t
3 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
44 ; CHECK: [[TYPE:.*]]: DW_TAG_structure_type
55 ; Make sure we correctly handle containing type of a struct being a type identifier.
66 ; CHECK-NEXT: DW_AT_containing_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]})
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t
3 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
44 ; CHECK: DW_TAG_ptr_to_member_type
55 ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE:0x[0-9a-f]+]]})
66 ; CHECK: [[TYPE]]: DW_TAG_base_type
11 ; PR 19261
22
33 ; RUN: %llc_dwarf -fast-isel=false -O0 -filetype=obj %s -o %t
4 ; RUN: llvm-dwarfdump %t | FileCheck %s
4 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
55
66 ; CHECK: {{0x[0-9a-f]+}} 1 0 1 0 0 is_stmt
77 ; CHECK: {{0x[0-9a-f]+}} 2 0 1 0 0 is_stmt
0 ; RUN: %llc_dwarf -O0 -filetype=obj -o %t.o %s
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22 ; REQUIRES: object-emission
33 ;
44 ; Test debug info for variadic function arguments.
0 ; REQUIRES: object-emission
11
22 ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
44
55 ; Generated from the following C++ source code:
66 ;
0 # RUN: llc -start-after=livedebugvalues -filetype=obj -o - %s \
1 # RUN: | llvm-dwarfdump - | FileCheck %s
1 # RUN: | llvm-dwarfdump -v - | FileCheck %s
22
33 # This tests for a crash in DwarfDebug's singular DBG_VALUE range promotion when
44 # encountering an IMPLICIT_DEF in its own lexical scope.
None # RUN: llc -filetype=obj -o - %s | llvm-dwarfdump --debug-info - | FileCheck %s
0 # RUN: llc -filetype=obj -o - %s | llvm-dwarfdump -v --debug-info - | FileCheck %s
11 # CHECK: .debug_info contents:
22 # CHECK: DW_TAG_variable
33 # CHECK-NEXT: DW_AT_location {{.*}} (DW_OP_reg1 RDX, DW_OP_bit_piece 0x8 0x8)
None # RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
0 # RUN: llc -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
11 #
22 # This testcase has an implicit def pseudo-iunstruction with a debug location.
33 #
None ; RUN: llc -filetype=obj -O0 -relocation-model=pic < %s -mtriple mips-unknown-linux-gnu | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -filetype=obj -O0 -relocation-model=pic < %s -mtriple mips-unknown-linux-gnu | llvm-dwarfdump -v - | FileCheck %s
11 ; PR19815
22
33 ; Generated using clang -target mips-linux-gnu -g test.c -S -o - -flto|opt -sroa -S
0 ; RUN: llc -march=mips -mcpu=mips32r2 -O1 -filetype=obj -relocation-model=pic <%s | \
1 ; RUN: llvm-dwarfdump -all - | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -all - | FileCheck %s
22
33 ; void foo(int *);
44 ;
0 ; RUN: llc -march=mips -mcpu=mips32r2 -O0 -filetype=obj -fast-isel=0 <%s | \
1 ; RUN: llvm-dwarfdump -all - | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -all - | FileCheck %s
22
33 declare void @llvm.dbg.declare(metadata, metadata, metadata)
44
None ; RUN: llc -filetype=obj -O0 < %s -mtriple sparc64-unknown-linux-gnu | llvm-dwarfdump - | FileCheck %s --check-prefix=SPARC64
1 ; RUN: llc -filetype=obj -O0 < %s -mtriple sparc-unknown-linux-gnu | llvm-dwarfdump - | FileCheck %s --check-prefix=SPARC32
0 ; RUN: llc -filetype=obj -O0 < %s -mtriple sparc64-unknown-linux-gnu | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SPARC64
1 ; RUN: llc -filetype=obj -O0 < %s -mtriple sparc-unknown-linux-gnu | llvm-dwarfdump -v - | FileCheck %s --check-prefix=SPARC32
22
33 ; Check for DW_CFA_GNU_Window_save in debug_frame. Also, Ensure that relocations
44 ; are performed correctly in debug_info.
0 ; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim < %s | FileCheck %s
11 ; RUN: llc -mtriple=s390x-linux-gnu -disable-fp-elim -filetype=obj < %s \
2 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=DEBUG %s
2 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=DEBUG %s
33 ;
44 ; This is a regression test making sure the location of variables is correct in
55 ; debugging information, even if they're addressed via the frame pointer.
None # RUN: llvm-mc < %s -triple=s390x-linux-gnu -filetype=obj | llvm-dwarfdump - | FileCheck %s
0 # RUN: llvm-mc < %s -triple=s390x-linux-gnu -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
11 #
22 # We use both R_390_32 and R_390_64 to encode the dwarf information.
33 # Test that they are used correctly. This uses the assembly output
0 ; RUN: llc -mtriple=x86_64-pc-linux-gnu %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; ModuleID = 'test.c'
44
0 ; RUN: llc < %s -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 ; C++ source to regenerate:
44 ; $ cat t.cpp
0 ; RUN: llc -mtriple=x86_64-apple-macosx %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ;
33 ; struct A {
44 ; A(int i);
0 ; RUN: llc -O1 -filetype=obj -mtriple=x86_64-apple-darwin < %s > %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22 ; RUN: llvm-objdump -r %t | FileCheck -check-prefix=DARWIN %s
33 ; RUN: llc -O1 -filetype=obj -mtriple=x86_64-pc-linux-gnu < %s > %t
4 ; RUN: llvm-dwarfdump %t | FileCheck %s
4 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
55 ; RUN: llvm-objdump -r %t | FileCheck -check-prefix=LINUX %s
66
77 ; PR9493
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; CHECK: DW_TAG_formal_parameter [
44 ; CHECK-NOT: ""
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; test that the DW_AT_specification is a back edge in the file.
44
0 ; RUN: llc -mtriple=i686-w64-mingw32 -o %t -filetype=obj %s
1 ; RUN: llvm-dwarfdump -all %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -all %t | FileCheck %s
22 ; RUN: llc -mtriple=i686-w64-mingw32 -o %t -filetype=obj -dwarf-version=3 %s
3 ; RUN: llvm-dwarfdump -all %t | FileCheck %s -check-prefix=DWARF3
3 ; RUN: llvm-dwarfdump -v -all %t | FileCheck %s -check-prefix=DWARF3
44
55 ; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset]
66 ; DWARF3: DW_AT_stmt_list [DW_FORM_data4]
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; Check that the friend tag is there and is followed by a DW_AT_friend that has a reference back.
44
0 ; PR31381: An assertion in the DWARF backend when fragments in MMI slots are
11 ; sorted by largest offset first.
2 ; RUN: llc -mtriple=x86_64-apple-darwin -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: llc -mtriple=x86_64-apple-darwin -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33 ; CHECK: DW_TAG_formal_parameter
44 ; CHECK: DW_TAG_formal_parameter
55 ; CHECK-NEXT: DW_AT_location [DW_FORM_exprloc] (DW_OP_fbreg -8, DW_OP_piece 0x3, DW_OP_piece 0x6, DW_OP_fbreg -3, DW_OP_piece 0x3)
1212 ; }
1313 ;
1414 ; RUN: llc -filetype=asm %s -o - | FileCheck %s
15 ; RUN: llc -filetype=obj %s -o - | llvm-dwarfdump - ---debug-info | FileCheck %s --check-prefix=DWARF
15 ; RUN: llc -filetype=obj %s -o - | llvm-dwarfdump -v - ---debug-info | FileCheck %s --check-prefix=DWARF
1616
1717 ; CHECK-LABEL: _main:
1818 ; CHECK: movaps {{.*}}, (%rsp)
0 ; RUN: llc -mtriple x86_64-apple-macosx -O0 -filetype=obj -o - %s \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 ; RUN: llc -mtriple x86_64-gnu-linux -O0 -filetype=obj -o - %s \
3 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s --check-prefix=LINUX
3 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s --check-prefix=LINUX
44 ; LINUX-NOT: DW_AT_data_bit_offset
55 ;
66 ; Generated from:
0 ; RUN: llc -mtriple x86_64-apple-macosx -O0 -filetype=obj -o %t_le.o %s
1 ; RUN: llvm-dwarfdump -debug-info %t_le.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t_le.o | FileCheck %s
22
33 ; Produced at -O0 from:
44 ; struct bitfield {
0 ; RUN: llc %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; Checks that we emit debug info for the block variable declare.
44 ; CHECK: DW_TAG_subprogram
0 ; RUN: llc -mtriple=x86_64-apple-macosx10.8.0 -O0 -filetype=obj -o %t %s
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ; Test that we generate debug info for by-value struct args that are not used.
33 ;
44 ; CHECK: DW_TAG_formal_parameter
None ; RUN: llc -mtriple=x86_64-linux < %s -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -mtriple=x86_64-linux < %s -filetype=obj | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 ; test that we add DW_AT_inline even when we only have concrete out of line
33 ; instances.
0 ; RUN: llc %s -filetype=obj -o %t.o
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22 ; Test emitting a constant for an aggregate type.
33 ;
44 ; clang -S -O1 -emit-llvm
None ; RUN: %llc_dwarf -filetype=obj %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: %llc_dwarf -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 ; A hand-written testcase to check 64-bit constant handling in location lists.
33
None ; RUN: llc -mtriple=x86_64-linux -O0 -o - -filetype=obj < %s | llvm-dwarfdump -debug-info -| FileCheck %s
1 ; RUN: llc -mtriple=x86_64-linux -dwarf-version=2 -O0 -o - -filetype=obj < %s | llvm-dwarfdump -debug-info -| FileCheck -check-prefix=DWARF2 %s
0 ; RUN: llc -mtriple=x86_64-linux -O0 -o - -filetype=obj < %s | llvm-dwarfdump -v -debug-info -| FileCheck %s
1 ; RUN: llc -mtriple=x86_64-linux -dwarf-version=2 -O0 -o - -filetype=obj < %s | llvm-dwarfdump -v -debug-info -| FileCheck -check-prefix=DWARF2 %s
22
33 ; Generated from Clang with the following source:
44 ;
None ; RUN: llc < %s -filetype=obj | llvm-dwarfdump - --debug-info | FileCheck %s
0 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v - --debug-info | FileCheck %s
11 ;
22 ; IR module created as follows:
33 ; clang -emit-llvm -S db-abs-1.cpp -o db-abs-1.ll -g
0 ; RUN: llc -mtriple=x86_64-apple-darwin12 -filetype=obj < %s \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
33 target triple = "x86_64-apple-macosx10.6.7"
44 ; Radar 9511391
0 ; RUN: llc < %s | FileCheck %s
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump - --debug-info | FileCheck %s --check-prefix=DWARF
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v - --debug-info | FileCheck %s --check-prefix=DWARF
22
33 ; This should use the frame index side table for allocas, not DBG_VALUE
44 ; instructions. For SDAG ISel, this test would see an SDNode materializing the
None ; RUN: llc -O0 -fast-isel=true -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -O0 -fast-isel=true -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
11 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
22 target triple = "x86_64-apple-macosx10.6.7"
33 ; rdar://problem/9321650
0 ; RUN: llc < %s -O0 -mtriple x86_64-apple-darwin | FileCheck %s
11 ; RUN: llc < %s -O0 -mtriple x86_64-apple-darwin -filetype=obj \
2 ; RUN: | llvm-dwarfdump - --debug-info | FileCheck %s --check-prefix=DWARF
2 ; RUN: | llvm-dwarfdump -v - --debug-info | FileCheck %s --check-prefix=DWARF
33 ;
44
55 ; CHECK-LABEL: _foo:
0 ; RUN: llc -mtriple=x86_64-unknown-unknown -o - %s | FileCheck %s
11 ; RUN: llc -mtriple=x86_64-unknown-unknown -filetype=obj < %s \
2 ; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF
2 ; RUN: | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF
33
44 define i1 @test() !dbg !4 {
55 entry:
None ; RUN: llc < %s -filetype=obj | llvm-dwarfdump - --debug-info | FileCheck %s
0 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v - --debug-info | FileCheck %s
11 ;
22 ; IR module created as follows:
33 ; clang -emit-llvm -S -O2 foo.cpp -o foo.ll -g
0 ; RUN: llc -mtriple=x86_64-apple-darwin < %s -filetype=obj \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=DARWIN %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=DARWIN %s
22 ; RUN: llc -mtriple=x86_64-linux-gnu < %s -filetype=obj \
3 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=LINUX %s
3 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=LINUX %s
44 ; RUN: llc -mtriple=x86_64-apple-darwin < %s -filetype=obj -regalloc=basic \
5 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=DARWIN %s
5 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=DARWIN %s
66
77 ; CHECK: DW_TAG_subprogram
88 ; CHECK: DW_AT_abstract_origin {{.*}} "foo"
None ; RUN: llc -filetype=obj %s -o - | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: llc -filetype=obj %s -regalloc=basic -o - | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
1 ; RUN: llc -filetype=obj %s -regalloc=basic -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
33 target triple = "x86_64-apple-darwin10.0.0"
44 ; Test that the type for the formal parameter "var" makes it into the debug info.
0 ; RUN: llc < %s | FileCheck %s --check-prefix=ASM
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF
22
33 ; Values in registers should be clobbered by calls, which use a regmask instead
44 ; of individual register def operands.
0 ; RUN: llc -mtriple x86_64-apple-darwin -filetype=obj -o %t.o < %s
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22
33 ; Generated from llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m
44 ; rdar://problem/9279956
33 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
44 target triple = "x86_64-apple-darwin"
55 ; RUN: %llc_dwarf -O0 -filetype=obj -o %t.o %s
6 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
6 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
77 ; REQUIRES: object-emission
88
99 ; // ---------------------------------------------------------------------
0 ; RUN: llc %s -o %t -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu -dwarf-version=4
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -check-prefix=PRESENT
2 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -check-prefix=ABSENT
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s -check-prefix=PRESENT
2 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s -check-prefix=ABSENT
33 ; RUN: llc %s -o %t -filetype=obj -O0 -mtriple=x86_64-apple-darwin -dwarf-version=4
4 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -check-prefix=DARWINP
5 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -check-prefix=DARWINA
4 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s -check-prefix=DARWINP
5 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s -check-prefix=DARWINA
66 ; Verify that attributes we do want are PRESENT;
77 ; verify that attributes we don't want are ABSENT.
88 ; It's a lot easier to do this in two passes than in one.
33 ; for the stack location directly instead of generating a register+offset indirection.
44
55 ; RUN: llc -O2 -filetype=obj -disable-post-ra -mtriple=x86_64-unknown-linux-gnu < %s \
6 ; RUN: | llvm-dwarfdump - | FileCheck %s
6 ; RUN: | llvm-dwarfdump -v - | FileCheck %s
77 ;
88 ; int data = 17;
99 ; int sum = 0;
0 ; RUN: llc %s -filetype=obj -O0 -mtriple=i386-unknown-linux-gnu -dwarf-version=4 -o %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 ; From the code:
44
None ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
11
22
33 ; CHECK-LABEL: .debug_info contents:
0 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -dwarf-version 4 \
1 ; RUN: -o - < %s | llvm-dwarfdump - --debug-info \
1 ; RUN: -o - < %s | llvm-dwarfdump -v - --debug-info \
22 ; RUN: | FileCheck %s -check-prefixes=CHECK,DWARF4
33 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -dwarf-version 5 \
4 ; RUN: -o - < %s | llvm-dwarfdump - --debug-info \
4 ; RUN: -o - < %s | llvm-dwarfdump -v - --debug-info \
55 ; RUN: | FileCheck %s -check-prefixes=CHECK,DWARF5
66
77 ; Check that we can omit default array lower-bounds.
None ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -o - < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -o - < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ; PR33157. Don't crash on duplicate dbg.declare.
22 ; CHECK: DW_TAG_formal_parameter
33 ; CHECK: DW_AT_location [DW_FORM_exprloc]
0 ; Test dwarf codegen of DW_OP_minus.
1 ; RUN: llc -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
2 ; RUN: llc -dwarf-version=2 -filetype=obj < %s | llvm-dwarfdump - \
1 ; RUN: llc -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
2 ; RUN: llc -dwarf-version=2 -filetype=obj < %s | llvm-dwarfdump -v - \
33 ; RUN: | FileCheck %s --check-prefix=DWARF2
4 ; RUN: llc -dwarf-version=3 -filetype=obj < %s | llvm-dwarfdump - \
4 ; RUN: llc -dwarf-version=3 -filetype=obj < %s | llvm-dwarfdump -v - \
55 ; RUN: | FileCheck %s --check-prefix=DWARF2
66
77 ; This was derived manually from:
None RUN: llvm-dwarfdump %p/../Inputs/dwarfdump-test-loc-list-32bit.elf.o | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/../Inputs/dwarfdump-test-loc-list-32bit.elf.o | FileCheck %s
11 Note: the input file was generated from Inputs/dwarfdump-test-loc-list-32bit.elf.cpp
22
33 CHECK: .debug_info
None # RUN: llvm-dwarfdump %S/../Inputs/dwarfdump-ranges-baseaddr-exe.elf-x86-64 \
0 # RUN: llvm-dwarfdump -v %S/../Inputs/dwarfdump-ranges-baseaddr-exe.elf-x86-64 \
11 # RUN: | FileCheck %s
22
33 ## Executable binary for test produced from object built in
0 # RUN: llvm-mc -triple x86_64-pc-linux -filetype=obj %s -o %t
1 # RUN: llvm-dwarfdump %t | FileCheck %s
1 # RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 # CHECK: .debug_info contents:
44 # CHECK: 0x0000000b: DW_TAG_compile_unit [1]
0 # RUN: llvm-mc -triple x86_64-pc-linux -filetype=obj %s -o %t
1 # RUN: llvm-dwarfdump %t | FileCheck %s
1 # RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 # CHECK: .debug_info contents:
44 # CHECK: DW_TAG_compile_unit
1313 # CHECK: 00000000 0000000000000000 0000000000000003
1414 # CHECK: 00000000
1515
16 # RUN: llvm-dwarfdump -brief=true %t | FileCheck %s --check-prefix=BRIEF
16 # RUN: llvm-dwarfdump %t | FileCheck %s --check-prefix=BRIEF
1717 # BRIEF: DW_TAG_compile_unit
1818 # BRIEF: DW_AT_ranges (0x00000000
1919 # BRIEF-NEXT: [0x0000000000000000 - 0x0000000000000001)
0 ; RUN: llc -mtriple=x86_64-unknown-linux-gnu %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ; RUN: llvm-as < %s | llvm-dis | FileCheck --check-prefix=CHECK-DIS %s
33
44 ; CHECK: 0x0000000b: DW_TAG_compile_unit
0 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -o %t < %s
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ;
33
44 %struct.foo = type { i32, [1 x i32] }
0 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -o %t < %s
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ;
33
44 source_filename = "test/DebugInfo/X86/empty-array.ll"
None ; RUN: llc -mtriple i686-pc-cygwin < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
1 ; RUN: llc -mtriple i686-pc-cygwin -split-dwarf-file=foo.dwo < %s -filetype=obj | llvm-dwarfdump - | FileCheck --check-prefix=FISSION %s
0 ; RUN: llc -mtriple i686-pc-cygwin < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
1 ; RUN: llc -mtriple i686-pc-cygwin -split-dwarf-file=foo.dwo < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck --check-prefix=FISSION %s
22
33 ; Expect no line table entry since there are no functions and file references in this compile unit
44 ; CHECK: .debug_line contents:
0 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 source_filename = "test/DebugInfo/X86/enum-class.ll"
44
0 ; RUN: llc -mtriple=x86_64-apple-darwin -o - %s -filetype=obj \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 ; A hand-crafted FrameIndex location with a DW_OP_deref.
33 ; CHECK: DW_TAG_formal_parameter
44 ; fbreg -8, deref
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v - | FileCheck %s
11 ; Test that multi-DW_OP_piece expressions are emitted for FI variables.
22 ;
33 ; CHECK: .debug_info contents:
0 ; RUN: llc -split-dwarf-file=baz.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump -all %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -all %t | FileCheck %s
22 ; RUN: llvm-readobj --relocations %t | FileCheck --check-prefix=OBJ %s
33 ; RUN: llvm-objdump -h %t | FileCheck --check-prefix=HDR %s
44
0 ; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump -all %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -all %t | FileCheck %s
22
33 ; The source is an empty file, modified to include/retain an 'int' type, since empty CUs are omitted.
44
0 ; RUN: llc -split-dwarf-file=foo.dwo -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj > %t
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22 ; RUN: llvm-objdump -r %t | FileCheck --check-prefix=RELOCS %s
33
44 ; Test the emission of gmlt-like inlining information into the skeleton unit.
0 ; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22 ; RUN: llvm-objdump -h %t | FileCheck --check-prefix=HDR %s
33
44 ; CHECK: .debug_info contents:
None ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ; from (at -Os):
22 ; void foo() {
33 ; float a = 3.14;
0 ; RUN: llc %s -stop-after=livedebugvalues -o - | FileCheck --check-prefix=SANITY %s
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
1 ; RUN: llc < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s
22 ; Test debug_loc support for floating point constants.
33 ;
44 ; Created from clang -O1:
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump --debug-info - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v --debug-info - | FileCheck %s
11 ; CHECK: DW_TAG_variable
22 ; CHECK-NEXT: DW_AT_location [DW_FORM_exprloc] (DW_OP_fbreg +0)
33 ; CHECK-NEXT: DW_AT_name {{.*}}"i"
0 ; REQUIRES: object-emission
11
22 ; RUN: llc < %s -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu
3 ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s
3 ; RUN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s
44 ; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_SINGLE %s
55
66 ; RUN: llc < %s -split-dwarf-file=foo.dwo -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu
7 ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s
7 ; RUN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s
88 ; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_FISSION %s
99
1010 ; Generated from bar.cpp:
None ; RUN: llc -O0 -filetype=obj < %S/../Inputs/gmlt.ll -mtriple x86_64-apple-darwin | llvm-dwarfdump - \
0 ; RUN: llc -O0 -filetype=obj < %S/../Inputs/gmlt.ll -mtriple x86_64-apple-darwin | llvm-dwarfdump -v - \
11 ; RUN: | FileCheck --check-prefix=CHECK --check-prefix=DARWIN %S/../Inputs/gmlt.ll
None ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
11
22 ; Generated from:
33
None ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s -generate-gnu-dwarf-pub-sections | llvm-dwarfdump - | FileCheck --check-prefix=GPUB --check-prefix=CHECK %s
1 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s -generate-dwarf-pub-sections=Enable | llvm-dwarfdump - | FileCheck --check-prefix=PUB --check-prefix=CHECK %s
2 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s | llvm-dwarfdump - | FileCheck --check-prefix=NONE %s
0 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s -generate-gnu-dwarf-pub-sections | llvm-dwarfdump -v - | FileCheck --check-prefix=GPUB --check-prefix=CHECK %s
1 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s -generate-dwarf-pub-sections=Enable | llvm-dwarfdump -v - | FileCheck --check-prefix=PUB --check-prefix=CHECK %s
2 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck --check-prefix=NONE %s
33
44 ; Generated from:
55 ; void f1();
None ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-type-units -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-type-units -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
11
22 ; Generated from:
33
0 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-gnu-dwarf-pub-sections < %s | FileCheck -check-prefix=ASM %s
1 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
1 ; RUN: llc -mtriple=x86_64-pc-linux-gnu -generate-gnu-dwarf-pub-sections -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
22 ; ModuleID = 'dwarf-public-names.cpp'
33 ;
44 ; Generated from:
0 ; REQUIRES: object-emission
11
2 ; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; From source:
55 ; struct foo {
None ; RUN: %llc_dwarf %s -o - -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: %llc_dwarf %s -o - -filetype=obj | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ; Generated from:
22 ; namespace normal { inline namespace inlined { int i; } }
33 ; Check that an inline namespace is emitted with DW_AT_export_symbols
0 ; RUN: llc -filetype=obj -o %t.o %s
1 ; RUN: llvm-dwarfdump %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t.o | FileCheck %s
22
33 ; Testcase generated using 'clang -g -O2 -S -emit-llvm' from the following:
44 ;; void sink(void);
None ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -filetype=obj -O0 < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -filetype=obj -O0 < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 ;; This test checks that Inlined DILexicalBlockFile with local decl entry
33 ;; is skipped and only one DW_TAG_lexical_block is generated.
0 ; REQUIRES: object-emission
11
22 ; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s \
3 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=CHECK-V4 %s
3 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=CHECK-V4 %s
44 ; RUN: llc -mtriple=x86_64-linux -dwarf-version=3 -O0 -filetype=obj < %s \
5 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=CHECK-V3 %s
5 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=CHECK-V3 %s
66
77 ; Check that we emit DW_TAG_lexical_block and that it has the right encoding
88 ; depending on the dwarf version.
0 ; RUN: llc -mtriple=x86_64-apple-darwin -filetype=obj -O0 < %s > %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 ; CHECK: [[FILEID:[0-9]+]]]{{.*}}list0.h
44 ; CHECK: [[FILEID]] 0 1 0 0 is_stmt{{$}}
0 ; RUN: llc -mtriple=x86_64-macosx %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; CHECK: DW_TAG_subprogram [9] *
44 ; CHECK-NOT: DW_AT_{{(MIPS_)?}}linkage_name
0 ; RUN: llc -mtriple=x86_64-apple-darwin -filetype=obj < %s \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-V4
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-V4
22 ; RUN: llc -mtriple=x86_64-apple-darwin -filetype=obj -dwarf-version=3 < %s \
3 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-V3
3 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-V3
44
55
66 ; Check that we use DW_AT_low_pc and that it has the right encoding depending
0 // RUN: llvm-mc -triple x86_64-unknown-linux-gnu -filetype obj -main-file-name foo.S -g -o %t %s
1 // RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 // RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 // CHECK: DW_TAG_compile_unit [1]
44 // CHECK-NOT: DW_TAG_
0 ; RUN: llc %s -mtriple=x86_64-apple-darwin -filetype=obj -o %t -enable-misched
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 ; rdar://13183203
44 ; Make sure when misched is enabled, we still have location information for
0 ; RUN: llc -O0 %s -mtriple=x86_64-apple-darwin -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 ; rdar://13071590
44 ; Check we are not emitting mutliple AT_const_value for a single member.
0 ; RUN: llc -mtriple=x86_64-apple-darwin -O0 -filetype=obj -o %t < %s
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 source_filename = "test/DebugInfo/X86/nondefault-subrange-array.ll"
44
0 ; RUN: llc -filetype=obj -o %t.o < %s >/dev/null 2>&1
1 ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
22
33 ; CHECK: DW_TAG_structure_type
44 ; CHECK: DW_AT_APPLE_objc_complete_type
0 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin < %s -filetype=obj \
1 ; RUN: | llvm-dwarfdump -debug-info - \
1 ; RUN: | llvm-dwarfdump -v -debug-info - \
22 ; RUN: | FileCheck %s -check-prefix=CHECK -check-prefix=DWARF4
33 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin < %s -filetype=obj -dwarf-version=3 \
4 ; RUN: | llvm-dwarfdump -debug-info - \
4 ; RUN: | llvm-dwarfdump -v -debug-info - \
55 ; RUN: | FileCheck %s -check-prefix=CHECK -check-prefix=DWARF3
66
77 ; DWARF4: DW_AT_location [DW_FORM_sec_offset] (0x00000000
0 ; REQUIRES: object-emission
11 ;
22 ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -O0 -filetype=obj < %s > %t
3 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
3 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
44
55 ; Test case derived from compiling the following source with clang -g:
66 ;
None ; RUN: %llc_dwarf -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
0 ; RUN: %llc_dwarf -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck %s
11 ; Generated at -O2 from:
22 ; bool c();
33 ; void f();
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v - | FileCheck %s
11 ;
22 ; // Compile with -O1
33 ; typedef struct {
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v - | FileCheck %s
11 ;
22 ; // Compile with -O1
33 ; typedef struct {
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; test that the DW_AT_specification is a back edge in the file.
44
0 ; RUN: llc -filetype=asm -O0 -mtriple=x86_64-linux-gnu < %s -dwarf-version 2 | FileCheck -check-prefixes=CHECK,ELF-ASM %s
11 ; RUN: llc -filetype=obj -O0 %s -mtriple=x86_64-linux-gnu -o %t-2 -dwarf-version 2
2 ; RUN: llvm-dwarfdump %t-2 | FileCheck %s -check-prefix=CHECK-DWARF
2 ; RUN: llvm-dwarfdump -v %t-2 | FileCheck %s -check-prefix=CHECK-DWARF
33 ; RUN: llc -filetype=obj -O0 %s -mtriple=x86_64-linux-gnu -o %t-4 -dwarf-version 2
4 ; RUN: llvm-dwarfdump %t-4 | FileCheck %s -check-prefix=CHECK-DWARF
4 ; RUN: llvm-dwarfdump -v %t-4 | FileCheck %s -check-prefix=CHECK-DWARF
55
66 ; RUN: llc -filetype=asm -O0 -mtriple=x86_64-apple-darwin < %s -dwarf-version 2 | FileCheck -check-prefixes=CHECK,DARWIN-ASM2 %s
77 ; RUN: llc -filetype=asm -O0 -mtriple=x86_64-apple-darwin < %s -dwarf-version 4 | FileCheck -check-prefixes=CHECK,DARWIN-ASM4 %s
88 ; RUN: llc -filetype=obj %s -mtriple=x86_64-apple-darwin -o %t2-2 -dwarf-version 2
9 ; RUN: llvm-dwarfdump %t2-2 | FileCheck %s -check-prefix=CHECK-DWARF
9 ; RUN: llvm-dwarfdump -v %t2-2 | FileCheck %s -check-prefix=CHECK-DWARF
1010 ; RUN: llc -filetype=obj %s -mtriple=x86_64-apple-darwin -o %t2-4 -dwarf-version 4
11 ; RUN: llvm-dwarfdump %t2-4 | FileCheck %s -check-prefix=CHECK-DWARF
11 ; RUN: llvm-dwarfdump -v %t2-4 | FileCheck %s -check-prefix=CHECK-DWARF
1212
1313 ; RUN: llc -filetype=asm -O0 -mtriple=x86_64-pc-win32 < %s -dwarf-version 2 | FileCheck -check-prefixes=CHECK,COFF-ASM %s
1414 ; RUN: llc -filetype=asm -O0 -mtriple=x86_64-pc-win32 < %s -dwarf-version 4 | FileCheck -check-prefixes=CHECK,COFF-ASM %s
1515 ; RUN: llc -filetype=obj -O0 %s -mtriple=x86_64-pc-win32 -o %t3-2 -dwarf-version 2
16 ; RUN: llvm-dwarfdump %t3-2 | FileCheck %s -check-prefix=CHECK-DWARF2
16 ; RUN: llvm-dwarfdump -v %t3-2 | FileCheck %s -check-prefix=CHECK-DWARF2
1717 ; RUN: llc -filetype=obj -O0 %s -mtriple=x86_64-pc-win32 -o %t3-4 -dwarf-version 4
18 ; RUN: llvm-dwarfdump %t3-4 | FileCheck %s -check-prefix=CHECK-DWARF
18 ; RUN: llvm-dwarfdump -v %t3-4 | FileCheck %s -check-prefix=CHECK-DWARF
1919
2020 ; Testing case generated from:
2121 ; clang++ tu1.cpp tu2.cpp -g -emit-llvm -c
0 ; RUN: llc -mtriple=x86_64-apple-macosx10.9.0 -filetype=obj -O0 < %s \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 ; ModuleID = 'aggregate-indirect-arg.cpp'
33 ; extracted from debuginfo-tests/aggregate-indirect-arg.cpp
44
0 ; RUN: %llc_dwarf -stop-after=livedebugvalues -o - %s \
11 ; RUN: | FileCheck %s --check-prefix=SANITY
22 ; RUN: %llc_dwarf -march=x86-64 -o - %s -filetype=obj \
3 ; RUN: | llvm-dwarfdump -all - | FileCheck %s
3 ; RUN: | llvm-dwarfdump -v -all - | FileCheck %s
44 ;
55 ; CHECK: .debug_info contents:
66 ; CHECK: DW_TAG_variable
0 ; RUN: llc -mtriple=x86_64-apple-darwin -o - %s -filetype=obj \
1 ; RUN: | llvm-dwarfdump -debug-info - | FileCheck %s
1 ; RUN: | llvm-dwarfdump -v -debug-info - | FileCheck %s
22 ; A single FI location. This used to trigger an assertion in debug libstdc++.
33 ; CHECK: DW_TAG_formal_parameter
44 ; fbreg -8
0 ; RUN: llc -mtriple=x86_64-linux -split-dwarf-cross-cu-references -split-dwarf-file=foo.dwo -filetype=obj -o %t < %s
11 ; RUN: llvm-objdump -r %t | FileCheck %s
2 ; RUN: llvm-dwarfdump -debug-info-dwo %t | FileCheck --check-prefix=ALL --check-prefix=INFO --check-prefix=DWO --check-prefix=CROSS %s
3 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck --check-prefix=ALL --check-prefix=INFO %s
2 ; RUN: llvm-dwarfdump -v -debug-info-dwo %t | FileCheck --check-prefix=ALL --check-prefix=INFO --check-prefix=DWO --check-prefix=CROSS %s
3 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck --check-prefix=ALL --check-prefix=INFO %s
44
55 ; RUN: llc -mtriple=x86_64-linux -split-dwarf-file=foo.dwo -filetype=obj -o %t < %s
66 ; RUN: llvm-objdump -r %t | FileCheck %s
7 ; RUN: llvm-dwarfdump -debug-info-dwo %t | FileCheck --check-prefix=ALL --check-prefix=DWO --check-prefix=NOCROSS %s
8 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck --check-prefix=ALL --check-prefix=INFO %s
7 ; RUN: llvm-dwarfdump -v -debug-info-dwo %t | FileCheck --check-prefix=ALL --check-prefix=DWO --check-prefix=NOCROSS %s
8 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck --check-prefix=ALL --check-prefix=INFO %s
99
1010 ; Testing cross-CU references for types, subprograms, and variables
1111 ; Built from code something like this:
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o - -filetype=obj | \
1 ; RUN: llvm-dwarfdump --debug-info - | FileCheck %s
1 ; RUN: llvm-dwarfdump -v --debug-info - | FileCheck %s
22 ;
33 ; Test emitting debug info for fragmented global values.
44 ; This is a handcrafted example of an SROAed global variable.
0 ; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump -all %t | FileCheck %s --check-prefix=CHECK-DWO
1 ; RUN: llvm-dwarfdump -v -all %t | FileCheck %s --check-prefix=CHECK-DWO
22
33 ; Based on the debuginfo-tests/sret.cpp code.
44
55 ; CHECK-DWO: DW_AT_GNU_dwo_id [DW_FORM_data8] (0x51ac5644b1937aa1)
66 ; CHECK-DWO: DW_AT_GNU_dwo_id [DW_FORM_data8] (0x51ac5644b1937aa1)
77
8 ; RUN: llc -O0 -fast-isel=true -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
9 ; RUN: llc -O0 -fast-isel=false -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
8 ; RUN: llc -O0 -fast-isel=true -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
9 ; RUN: llc -O0 -fast-isel=false -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s
1010 ; CHECK: _ZN1B9AInstanceEv
1111 ; CHECK: DW_TAG_variable
1212 ; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000000
None ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump -v - | FileCheck %s
11 ; Test that DW_OP_piece is emitted for constants.
22 ;
33 ; // Generated from:
None ; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ; Generated from:
22 ;
33 ; struct A {
0 ; RUN: llc -O0 %s -mtriple=x86_64-apple-darwin -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t | FileCheck %s
22 ; RUN: llc -O0 %s -mtriple=x86_64-apple-darwin -filetype=obj -o %t -dwarf-version=3
3 ; RUN: llvm-dwarfdump %t | FileCheck %s -check-prefix=DWARF3
3 ; RUN: llvm-dwarfdump -v %t | FileCheck %s -check-prefix=DWARF3
44 ; RUN: llc < %s -O0 -mtriple=x86_64-apple-macosx10.7 | FileCheck %s -check-prefix=ASM
55
66 ; rdar://13067005
0 ; RUN: llc -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
1 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 ; Make sure that the base type from the subrange type has a name.
44 ; CHECK: DW_TAG_subrange_type
0 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t.o -filetype=obj -O0
1 ; RUN: llvm-dwarfdump %t.o | FileCheck %s
1 ; RUN: llvm-dwarfdump -v %t.o | FileCheck %s
22 ;
33 ; Test that on x86_64, the 32-bit subregister esi is emitted as
44 ; subregister of the 64-bit rsi.
0 ; REQUIRES: object-emission
11
2 ; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: llc -mtriple=x86_64-linux -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
33
44 ; IR generated with `clang++ -g -emit-llvm -S` from the following code:
55 ; template class y, decltype(nullptr) n, int ...z> int func() { return 3; }
0 ; RUN: llc -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
1 ; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump --debug-info - | FileCheck %s
1 ; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump -v --debug-info - | FileCheck %s
22 ;
33 ; Generated at -O2 from:
44 ; struct B;
0 ; REQUIRES: object-emission
11
22 ; RUN: llc -split-dwarf-file=foo.dwo -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
3 ; RUN: | llvm-dwarfdump - | FileCheck %s
3 ; RUN: | llvm-dwarfdump -v - | FileCheck %s
44
55 ; RUN: llc -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
6 ; RUN: | llvm-dwarfdump - | FileCheck --check-prefix=SINGLE %s
6 ; RUN: | llvm-dwarfdump -v - | FileCheck --check-prefix=SINGLE %s
77
88 ; Test case built from:
99 ;int i;
None ; RUN: llc -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s
0 ; RUN: llc -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
11 ; CHECK: DW_TAG_variable
22 ; CHECK-NEXT: DW_AT_const_value [DW_FORM_udata] (0)
33 ; CHECK-NEXT: DW_AT_name {{.*}}"a"
None RUN: llvm-dwarfdump %p/Inputs/arm-relocs.elf-arm | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/arm-relocs.elf-arm | FileCheck %s
11
22 ; CHECK: debug_info contents
33 ; CHECK: DW_TAG_enumeration_type
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
11 RUN: not llvm-dwarfdump -verify %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s --check-prefix=VERIFY
22
33 Gather some DIE indexes to verify the accelerator table contents.
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-dwp.x86_64.o | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-dwp.x86_64.o | FileCheck %s
11
22 ; Testing the following simple dwp file:
33 ; a.cpp:
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-header.elf-x86-64 | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-header.elf-x86-64 | FileCheck %s
11
22 The input file is hand-coded assembler to generate all the units,
33 so we're willing to make exact checks for offsets and such.
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-line-dwo.elf-x86-64 | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-line-dwo.elf-x86-64 | FileCheck %s
11
22 CHECK: .debug_line.dwo contents:
33 CHECK: version: 4
0 Reuse a test input from llvm-dsymutil, it's perfect for what we want to exercise
1 RUN: llvm-dwarfdump %S/Inputs/fat-test.o --debug-info | FileCheck %s
1 RUN: llvm-dwarfdump -v %S/Inputs/fat-test.o --debug-info | FileCheck %s
22
33 CHECK: fat-test.o (x86_64): file format Mach-O 64-bit x86-64
44 CHECK: DW_TAG_variable
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
11
22 CHECK: .debug_info contents:
33
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test4.elf-x86-64 | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-test4.elf-x86-64 | FileCheck %s
11
22 CHECK: .debug_info contents:
33 CHECK: DW_TAG_compile_unit
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-dwp.x86_64.o | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-dwp.x86_64.o | FileCheck %s
11
22 ; Verify that the correct strings from each unit are displayed and that the
33 ; index for the .debug_str_offsets section has the right values.
0 ; Verify that llvm-dwarfdump handles invalid string offset tables.
11
2 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-invalid-1.x86_64.o | \
2 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-invalid-1.x86_64.o | \
33 RUN: FileCheck --check-prefix=INVALIDCONTRIB %s
4 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-invalid-2.x86_64.o | \
4 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-invalid-2.x86_64.o | \
55 RUN: FileCheck --check-prefix=INVALIDCONTRIB %s
6 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-invalid-3.x86_64.o | \
6 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-invalid-3.x86_64.o | \
77 RUN: FileCheck --check-prefix=INVALIDCONTRIB %s
8 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-invalid-4.x86_64.o | \
8 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-invalid-4.x86_64.o | \
99 RUN: FileCheck --check-prefix=INVALIDLENGTH %s
10 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-invalid-5.x86_64.o | \
10 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-invalid-5.x86_64.o | \
1111 RUN: FileCheck --check-prefix=INVALIDSECTIONLENGTH %s
1212
1313 INVALIDCONTRIB: .debug_str_offsets contents:
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets.x86_64.o | FileCheck --check-prefix=COMMON \
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets.x86_64.o | FileCheck --check-prefix=COMMON \
11 RUN: --check-prefix=SPLIT %s
2 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-str-offsets-macho.o | FileCheck --check-prefix=COMMON %s
2 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-str-offsets-macho.o | FileCheck --check-prefix=COMMON %s
33
44 ; We are using a hand-constructed object file and are interest in the correct
55 ; diplay of the DW_str_offsetsbase attribute, the correct display of strings
None RUN: llvm-dwarfdump %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=CHECK -check-prefix=LONG %s
1 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-type-units.elf-x86-64 -summarize-types | FileCheck -check-prefix=CHECK -check-prefix=SHORT %s
2 RUN: llvm-dwarfdump -debug-types %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=TYPES %s
0 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=CHECK -check-prefix=LONG %s
1 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-type-units.elf-x86-64 -summarize-types | FileCheck -check-prefix=CHECK -check-prefix=SHORT %s
2 RUN: llvm-dwarfdump -v -debug-types %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=TYPES %s
33
44 CHECK: debug_info contents:
55
0 REQUIRES: zlib
11
2 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-zlib.elf-x86-64 | FileCheck %s
3 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-zlib.o.elf-x86-64 | FileCheck %s
4 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 | FileCheck %s
2 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-test-zlib.elf-x86-64 | FileCheck %s
3 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-test-zlib.o.elf-x86-64 | FileCheck %s
4 RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 | FileCheck %s
55
66 CHECK: .debug_abbrev contents
77
None RUN: llvm-dwarfdump %p/Inputs/typeunit-header.elf-x86-64 | FileCheck %s
0 RUN: llvm-dwarfdump -v %p/Inputs/typeunit-header.elf-x86-64 | FileCheck %s
11
22 This is testing a bugfix where parsing the type unit header was not
33 taking the unit's intial length field into account when validating.
11 ;
22 ; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - \
33 ; RUN: | %llc_dwarf -dwarf-linkage-names=All -filetype=obj -O0 \
4 ; RUN: | llvm-dwarfdump -debug-info - \
4 ; RUN: | llvm-dwarfdump -v -debug-info - \
55 ; RUN: | FileCheck %s
66 ; RUN: llvm-link %p/type-unique-odr-b.ll %s -S -o - \
77 ; RUN: | %llc_dwarf -dwarf-linkage-names=All -filetype=obj -O0 \
8 ; RUN: | llvm-dwarfdump -debug-info - \
8 ; RUN: | llvm-dwarfdump -v -debug-info - \
99 ; RUN: | FileCheck %s
1010 ;
1111 ; Test ODR-based type uniquing for C++ class members.
22 ; RUN: llvm-link %s %p/type-unique-simple-b.ll -S -o %t
33 ; RUN: cat %t | FileCheck %s -check-prefix=LINK
44 ; RUN: %llc_dwarf -filetype=obj -O0 < %t > %t2
5 ; RUN: llvm-dwarfdump -debug-info %t2 | FileCheck %s
5 ; RUN: llvm-dwarfdump -v -debug-info %t2 | FileCheck %s
66
77 ; Make sure the backend generates a single DIE and uses ref_addr.
88 ; CHECK: 0x[[BASE:.*]]: DW_TAG_structure_type
0 ; REQUIRES: default_triple, object-emission
11 ;
2 ; RUN: llvm-link %s %p/type-unique-simple2-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: llvm-link %s %p/type-unique-simple2-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -v -debug-info - | FileCheck %s
33 ;
44 ; Tests for a merge error where attributes are inserted twice into the same DIE.
55 ;
33 ; RUN: llvm-link %S/Inputs/type-unique-simple2-a.ll %S/Inputs/type-unique-simple2-b.ll -S -o %t
44 ; RUN: cat %t | FileCheck %S/Inputs/type-unique-simple2-a.ll -check-prefix=LINK
55 ; RUN: %llc_dwarf -filetype=obj -O0 < %t > %t2
6 ; RUN: llvm-dwarfdump -debug-info %t2 | FileCheck %S/Inputs/type-unique-simple2-a.ll
6 ; RUN: llvm-dwarfdump -v -debug-info %t2 | FileCheck %S/Inputs/type-unique-simple2-a.ll
0 ; REQUIRES: default_triple, object-emission
11 ;
2 ; RUN: llvm-link %s %p/type-unique-type-array-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -debug-info - | FileCheck %s
2 ; RUN: llvm-link %s %p/type-unique-type-array-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -v -debug-info - | FileCheck %s
33 ;
44 ; rdar://problem/17628609
55 ;
0 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp -dwarf-version 2 2>&1 | FileCheck -check-prefix MESSAGES %s
1 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF %s
1 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF %s
22 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC %s
33
44 .section .text, "ax"
0 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 5 -fdebug-compilation-dir=/tmp
1 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s
1 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s
22 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC -check-prefix RELOC5 %s
33 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp
4 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s
4 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF -check-prefix DWARF45 %s
55 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC -check-prefix RELOC4 %s
66 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 3 -fdebug-compilation-dir=/tmp
7 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF -check-prefix DWARF3 %s
7 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF -check-prefix DWARF3 %s
88 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 2 2>&1 | FileCheck -check-prefix VERSION %s
99 // RUN: not llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 1 2>&1 | FileCheck -check-prefix DWARF1 %s
1010 // RUN: not llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -dwarf-version 6 2>&1 | FileCheck -check-prefix DWARF6 %s
0 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp
1 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF %s
1 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF %s
22 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC %s
33
44 // If there is no code in an assembly file, no debug info is produced
0 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp
1 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF %s
1 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF %s
22 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC %s
33
44 .section foo, "ax"
0 // RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o %t -g -fdebug-compilation-dir=/tmp
1 // RUN: llvm-dwarfdump %t | FileCheck -check-prefix DWARF %s
1 // RUN: llvm-dwarfdump -v %t | FileCheck -check-prefix DWARF %s
22 // RUN: llvm-objdump -r %t | FileCheck -check-prefix RELOC %s
33
44 .section .text, "ax"
0 # RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o - \
1 # RUN: | llvm-dwarfdump - | FileCheck %s
1 # RUN: | llvm-dwarfdump -v - | FileCheck %s
22
33 _proc:
44 .cfi_sections .debug_frame
99 # CHECK: .debug_frame contents:
1010 # CHECK: CIE
1111 # CHECK-NOT: DW_CFA
12 # When llvm-dwarfdump prints the full info for the DW_CFA_def_cfa
12 # When llvm-dwarfdump -v prints the full info for the DW_CFA_def_cfa
1313 # field, we can check that here too.
1414 # CHECK: DW_CFA_def_cfa:
1515 # The following 2 DW_CFA_nop instructions are "padding"
None ; RUN: %llc_dwarf %s -o - -dwarf-version 2 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF2
1 ; RUN: %llc_dwarf %s -o - -dwarf-version 3 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF3
2 ; RUN: %llc_dwarf %s -o - -dwarf-version 4 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF4
3 ; RUN: %llc_dwarf %s -o - -dwarf-version 5 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF4
0 ; RUN: %llc_dwarf %s -o - -dwarf-version 2 -filetype=obj | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF2
1 ; RUN: %llc_dwarf %s -o - -dwarf-version 3 -filetype=obj | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF3
2 ; RUN: %llc_dwarf %s -o - -dwarf-version 4 -filetype=obj | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF4
3 ; RUN: %llc_dwarf %s -o - -dwarf-version 5 -filetype=obj | llvm-dwarfdump -v - | FileCheck %s --check-prefix=DWARF4
44
55 ; .debug_frame is not emitted for targeting Windows x64.
66 ; REQUIRES: debug_frame
0 // REQUIRES: shell
11 // RUN: llvm-mc -triple=x86_64-linux-unknown -g -fdebug-compilation-dir=/test/comp/dir %s -filetype=obj -o %t.o
2 // RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s
2 // RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s
33
44 // CHECK: DW_AT_comp_dir [DW_FORM_string] ("{{([A-Za-z]:.*)?}}/test/comp/dir")
55
77 // RUN: ln -sf %t.foo %t.bar
88 // RUN: cd %t.foo
99 // RUN: env PWD=%t.bar llvm-mc -triple=x86_64-linux-unknown -g %s -filetype=obj -o %t.o
10 // RUN: llvm-dwarfdump -debug-info %t.o | FileCheck --check-prefix=PWD %s
10 // RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck --check-prefix=PWD %s
1111 // PWD: DW_AT_comp_dir [DW_FORM_string] ("{{.*}}.bar")
1212
1313
0 // RUN: env DEBUG_PRODUCER="my producer" llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t
1 // RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
1 // RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
22
33 .globl _bar
44 _bar:
0 // RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t
1 // RUN: llvm-dwarfdump -all %t | FileCheck %s
1 // RUN: llvm-dwarfdump -v -all %t | FileCheck %s
22
33 .globl _bar
44 _bar:
None RUN: llvm-dwarfdump -debug-info %p/../Inputs/elf-mip64-reloc.o 2>&1 | \
0 RUN: llvm-dwarfdump -v -debug-info %p/../Inputs/elf-mip64-reloc.o 2>&1 | \
11 RUN: FileCheck %s
22
33 CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000037] = "")
44 RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64
55
66 Check that the object file in the bundle exists and is sane:
7 RUN: llvm-dwarfdump %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
7 RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
88
9 Check that llvm-dwarfdump recognizes the bundle as a dSYM:
10 RUN: llvm-dwarfdump %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
9 Check that llvm-dwarfdump -v recognizes the bundle as a dSYM:
10 RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
1111
1212 RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist
1313
1414 RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
15 RUN: llvm-dwarfdump %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
15 RUN: llvm-dwarfdump -v %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
1616 RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
1717
1818 CHECK:
0 RUN: cat %p/../Inputs/basic.macho.x86_64 > %t1
11 RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t1
2 RUN: llvm-dwarfdump %t1.dwarf | FileCheck %s
2 RUN: llvm-dwarfdump -v %t1.dwarf | FileCheck %s
33 RUN: llvm-dsymutil -f -o %t2 -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64
4 RUN: llvm-dwarfdump %t2 | FileCheck %s
5 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dwarfdump - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
6 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dwarfdump - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
7 RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dsymutil -f -y -o - - | llvm-dwarfdump - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
8 RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
4 RUN: llvm-dwarfdump -v %t2 | FileCheck %s
5 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
6 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
7 RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-dsymutil -f -y -o - - | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=BASIC
8 RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p/.. %p/../Inputs/basic-archive.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -v - | FileCheck %s --check-prefix=CHECK --check-prefix=ARCHIVE
99
1010 CHECK: file format Mach-O 64-bit x86-64
1111
None RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto-dw4.macho.x86_64 | llvm-dwarfdump - | FileCheck %s
0 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto-dw4.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s
11
22 CHECK: file format Mach-O 64-bit x86-64
33
None RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto.macho.x86_64 | llvm-dwarfdump - | FileCheck %s
1 RUN: llvm-dsymutil -oso-prepend-path=%p/.. -dump-debug-map %p/../Inputs/basic-lto.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump - | FileCheck %s
0 RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic-lto.macho.x86_64 | llvm-dwarfdump -v - | FileCheck %s
1 RUN: llvm-dsymutil -oso-prepend-path=%p/.. -dump-debug-map %p/../Inputs/basic-lto.macho.x86_64 | llvm-dsymutil -f -o - -y - | llvm-dwarfdump -v - | FileCheck %s
22
33 CHECK: file format Mach-O 64-bit x86-64
44
None RUN: llvm-dsymutil -oso-prepend-path %p/.. %p/../Inputs/common.macho.x86_64 -f -o - | llvm-dwarfdump -debug-info - | FileCheck %s
0 RUN: llvm-dsymutil -oso-prepend-path %p/.. %p/../Inputs/common.macho.x86_64 -f -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
11
22 The test was compiled from a single source:
33 $ cat common.c
None # RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. -y %s | llvm-dwarfdump - | FileCheck %s
0 # RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. -y %s | llvm-dwarfdump -v - | FileCheck %s
11
22 # This test on links the Dwarf for an LTO binary and on purpose doesn't retain
33 # any symbol in the second CU out of 3. This is the only case where dsymutil
1919
2020 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/modules \
2121 // RUN: -y %p/dummy-debug-map.map -o - \
22 // RUN: | llvm-dwarfdump --debug-info - | FileCheck %s
22 // RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s
2323
2424 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/modules -y \
2525 // RUN: %p/dummy-debug-map.map -o %t 2>&1 | FileCheck --check-prefix=WARN %s
77
88 # Multiple inputs in flat mode
99 RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64
10 RUN: llvm-dwarfdump %t/basic.macho.x86_64.dwarf \
10 RUN: llvm-dwarfdump -v %t/basic.macho.x86_64.dwarf \
1111 RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
12 RUN: llvm-dwarfdump %t/basic-archive.macho.x86_64.dwarf \
12 RUN: llvm-dwarfdump -v %t/basic-archive.macho.x86_64.dwarf \
1313 RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
14 RUN: llvm-dwarfdump %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
15 RUN: llvm-dwarfdump %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
14 RUN: llvm-dwarfdump -v %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
15 RUN: llvm-dwarfdump -v %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
1616
1717 # Multiple inputs that end up in the same named bundle
1818 RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM
19 RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 \
19 RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 \
2020 RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
21 RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
21 RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
2222 RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
23 RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-linking-x86.test
24 RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
23 RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-linking-x86.test
24 RUN: llvm-dwarfdump -v %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
2525
2626 # Multiple inputs in a named bundle in flat mode... impossible.
2727 RUN: not llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM 2>&1 | FileCheck %s
33 done
44 */
55
6 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s
6 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
77
88 #ifdef FILE1
99 # 1 "Header.h" 1
33 done
44 */
55
6 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration2 -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck %s
6 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-fwd-declaration2 -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
77
88 #ifdef FILE1
99 # 1 "Header.h" 1
1010 - without ODR uniquing: all types are re-emited in the second CU
1111 */
1212
13 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -debug-info - | FileCheck -check-prefix=ODR -check-prefix=CHECK %s
14 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -no-odr -o - | llvm-dwarfdump -debug-info - | FileCheck -check-prefix=NOODR -check-prefix=CHECK %s
13 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=ODR -check-prefix=CHECK %s
14 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing -y %p/dummy-debug-map.map -no-odr -o - | llvm-dwarfdump -v -debug-info - | FileCheck -check-prefix=NOODR -check-prefix=CHECK %s
1515
1616 // The first compile unit contains all the types:
1717 // CHECK: TAG_compile_unit
1717
1818 // RUN: llvm-dsymutil -f -oso-prepend-path=%p/../Inputs/submodules \
1919 // RUN: -y %p/dummy-debug-map.map -o - \
20 // RUN: | llvm-dwarfdump --debug-info - | FileCheck %s
20 // RUN: | llvm-dwarfdump -v --debug-info - | FileCheck %s
2121
2222 // ---------------------------------------------------------------------
2323 #ifdef CHILD_H
0 # RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
1 # RUN: | llvm-dwarfdump -debug-info --brief - \
1 # RUN: | llvm-dwarfdump -debug-info - \
22 # RUN: | FileCheck %s
33
44 # CHECK-NOT: .debug_abbrev contents:
1414 #
1515 # CHECK-NOT: {{.*}} contents:
1616 #
17 # This test is meant to verify that -brief hides DW_FORMs and abbreviation
18 # codes from .debug_info section. Furthermore it verifies that it also hides
19 # .debug_str and die reference offsets into the CU.
17 # This test is meant to verify that without specifying -verbose DW_FORMs and
18 # abbreviation codes are hidden from .debug_info section. Furthermore it
19 # verifies that it also hides .debug_str and die reference offsets into the CU.
2020
2121 .section __TEXT,__text,regular,pure_instructions
2222 .macosx_version_min 10, 12
0 RUN: llvm-dwp %p/../Inputs/compress/a.dwo -o %t
1 RUN: llvm-dwarfdump %t | FileCheck %s
1 RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 REQUIRES: zlib
44
1010 RUN: cp %p/../Inputs/dwos_list_from_exec/main main
1111 RUN: cp %p/../Inputs/dwos_list_from_exec/libd.so libd.so
1212 RUN: llvm-dwp c.dwo e.dwo -e main -e libd.so -o pkg.dwp
13 RUN: llvm-dwarfdump pkg.dwp | FileCheck %s
13 RUN: llvm-dwarfdump -v pkg.dwp | FileCheck %s
1414
1515 Build commands for the test binaries:
1616
0 RUN: llvm-dwp %p/../Inputs/empty.dwo -o %t
1 RUN: llvm-dwarfdump %t | FileCheck %s
1 RUN: llvm-dwarfdump -v %t | FileCheck %s
22
33 CHECK-LABEL: .debug_cu_index
44 CHECK-NOT: version
0 RUN: llvm-dwp %p/../Inputs/gcc_type/a.dwo -o %t
1 RUN: llvm-dwarfdump %t | FileCheck %s
1 RUN: llvm-dwarfdump -v %t | FileCheck %s
22 RUN: not llvm-dwp %p/../Inputs/gcc_type/a.dwo %p/../Inputs/gcc_type/a.dwo -o %t 2>&1 | FileCheck --check-prefix=DUP %s
33
44 CHECK: Type Unit
0 RUN: llvm-dwp %p/../Inputs/merge/notypes/c.dwo %p/../Inputs/merge/notypes/ab.dwp -o %t
1 RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
1 RUN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
22
3 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
3 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump -v doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
44
55 DWP from a DWO (c.dwo) and a DWP (ab.dwp, created from a.dwo and b.dwo)
66 Make sure the entries for A and B are updated correctly when read/processed from ab.dwp
0 RUN: llvm-dwp %p/../Inputs/simple/notypes/a.dwo %p/../Inputs/simple/notypes/b.dwo -o %t
1 RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
1 RUN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
22 RUN: llvm-objdump -h %t | FileCheck --check-prefix=NOTYPOBJ %s
33 UN: llvm-dwp %p/../Inputs/simple/types/a.dwo %p/../Inputs/simple/types/b.dwo -o %t
4 UN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=TYPES %s
4 UN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=TYPES %s
55
6 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
6 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump -v doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
77
88 DWP from non-type-unit debug info for these two translation units:
99 a.cpp:
0 RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %p/../Inputs/type_dedup/b.dwo -o %t
1 RUN: llvm-dwarfdump %t | FileCheck %s
1 RUN: llvm-dwarfdump -v %t | FileCheck %s
22 RUN: llvm-dwp %p/../Inputs/type_dedup/b.dwo -o %tb.dwp
33 RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %tb.dwp -o %t
4 RUN: llvm-dwarfdump %t | FileCheck %s
4 RUN: llvm-dwarfdump -v %t | FileCheck %s
55
66 a.cpp:
77 struct common { };
5656 static cl::opt Verify("verify", cl::desc("Verify the DWARF debug info"));
5757 static cl::opt Quiet("quiet",
5858 cl::desc("Use with -verify to not emit to STDOUT."));
59 static cl::opt Brief("brief", cl::desc("Print fewer low-level details"));
59 static cl::opt Verbose("verbose",
60 cl::desc("Print more low-level encoding details"));
61 static cl::alias VerboseAlias("v", cl::desc("Alias for -verbose"),
62 cl::aliasopt(Verbose));
6063
6164 static void error(StringRef Filename, std::error_code EC) {
6265 if (!EC)
7881 DIDumpOptions DumpOpts;
7982 DumpOpts.DumpType = DumpType;
8083 DumpOpts.SummarizeTypes = SummarizeTypes;
81 DumpOpts.Brief = Brief;
84 DumpOpts.Brief = !Verbose;
8285 DICtx->dump(outs(), DumpOpts);
8386 }
8487
198201 if (DumpAll)
199202 DumpType = DIDT_All;
200203 if (DumpType == DIDT_Null) {
201 if (Brief)
204 if (Verbose)
205 DumpType = DIDT_All;
206 else
202207 DumpType = DIDT_DebugInfo;
203 else
204 DumpType = DIDT_All;
205208 }
206209
207210 // Defaults to a.out if no filenames specified.