Split DWARF v2 tests to exclude 64-bit AIX targets (#189077)
64-bit AIX requires DWARF64 format, which was only introduced in DWARF v3. DWARF v2 only supports 32-bit DWARF format, making it incompatible with 64-bit AIX (the compiler throws a fatal error). These changes split DWARF v2 tests into separate files that exclude 64-bit AIX targets while still running on 32-bit AIX and other 64-bit platforms where DWARF v2 is supported.
This commit is contained in:
parent
b6e7c475cb
commit
74ad441a80
15
llvm/test/DebugInfo/Generic/debug-info-enum-dwarf2.ll
Normal file
15
llvm/test/DebugInfo/Generic/debug-info-enum-dwarf2.ll
Normal file
@ -0,0 +1,15 @@
|
||||
; Test enumeration representation in DWARF debug info for DWARF v2:
|
||||
; * test value representation for each possible underlying integer type
|
||||
; * test the integer type is as expected
|
||||
; * test the DW_AT_enum_class attribute is present (resp. absent) as expected.
|
||||
; * test that DW_AT_type is present for v2 when strict DWARF is not enabled.
|
||||
|
||||
; This file contains the dwarf-version=2 tests extracted from debug-info-enum.ll.
|
||||
; DWARF v2 is incompatible with 64-bit XCOFF/AIX (requires DWARF64 format which needs DWARF v3+).
|
||||
|
||||
; UNSUPPORTED: target=powerpc64{{.*}}-aix{{.*}}
|
||||
|
||||
; RUN: llc -debugger-tune=gdb -dwarf-version=2 -filetype=obj -o %t.o < %S/debug-info-enum.ll
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %S/debug-info-enum.ll --check-prefixes=CHECK,CHECK-TYPE
|
||||
; RUN: llc -debugger-tune=gdb -dwarf-version=2 -strict-dwarf=true -filetype=obj -o %t.o < %S/debug-info-enum.ll
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %S/debug-info-enum.ll --check-prefixes=CHECK,CHECK-DW2-STRICT
|
||||
@ -9,10 +9,8 @@
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefixes=CHECK,CHECK-DW4,CHECK-TYPE
|
||||
; RUN: llc -debugger-tune=gdb -dwarf-version=3 -filetype=obj -o %t.o < %s
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefixes=CHECK,CHECK-TYPE
|
||||
; RUN: llc -debugger-tune=gdb -dwarf-version=2 -filetype=obj -o %t.o < %s
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefixes=CHECK,CHECK-TYPE
|
||||
; RUN: llc -debugger-tune=gdb -dwarf-version=2 -strict-dwarf=true -filetype=obj -o %t.o < %s
|
||||
; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefixes=CHECK,CHECK-DW2-STRICT
|
||||
|
||||
; This file is also used by the dwarf-version=2 tests in debug-info-enum-dwarf2.ll.
|
||||
|
||||
@x0 = global i8 0, align 1, !dbg !0
|
||||
@x1 = global i8 0, align 1, !dbg !46
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
; xfail this test on hexagon because at O2, instructions are bundled in packets
|
||||
; and DW_OP_lit13 is correctly omitted.
|
||||
; XFAIL: target=hexagon-{{.*}}
|
||||
|
||||
; This file contains the dwarf-version=2 tests extracted from incorrect-variable-debugloc1.ll.
|
||||
; DWARF v2 is incompatible with 64-bit XCOFF/AIX (requires DWARF64 format which needs DWARF v3+).
|
||||
|
||||
; UNSUPPORTED: target=powerpc64{{.*}}-aix{{.*}}
|
||||
|
||||
; RUN: %llc_dwarf -O2 -dwarf-version 2 -filetype=obj < %S/incorrect-variable-debugloc1.ll | llvm-dwarfdump - | FileCheck %S/incorrect-variable-debugloc1.ll --check-prefix=DWARF23
|
||||
@ -2,10 +2,11 @@
|
||||
; and DW_OP_lit13 is correctly omitted.
|
||||
; XFAIL: target=hexagon-{{.*}}
|
||||
|
||||
; RUN: %llc_dwarf -O2 -dwarf-version 2 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF23
|
||||
; RUN: %llc_dwarf -O2 -dwarf-version 3 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF23
|
||||
; RUN: %llc_dwarf -O2 -dwarf-version 4 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF4
|
||||
|
||||
; This file is also used by the dwarf-version=2 tests in incorrect-variable-debugloc1-dwarf2.ll.
|
||||
|
||||
; This is a test for PR21176.
|
||||
; DW_OP_const <const> doesn't describe a constant value, but a value at a constant address.
|
||||
; The proper way to describe a constant value is DW_OP_constu <const>, DW_OP_stack_value.
|
||||
|
||||
6
llvm/test/DebugInfo/Generic/restrict-dwarf2.ll
Normal file
6
llvm/test/DebugInfo/Generic/restrict-dwarf2.ll
Normal file
@ -0,0 +1,6 @@
|
||||
; This file contains the dwarf-version=2 tests extracted from restrict.ll.
|
||||
; DWARF v2 is incompatible with 64-bit XCOFF/AIX (requires DWARF64 format which needs DWARF v3+).
|
||||
|
||||
; UNSUPPORTED: target=powerpc64{{.*}}-aix{{.*}}
|
||||
|
||||
; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %S/restrict.ll | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V2 %S/restrict.ll
|
||||
@ -1,6 +1,7 @@
|
||||
; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V2 %s
|
||||
; RUN: %llc_dwarf -dwarf-version=3 -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V3 %s
|
||||
|
||||
; This file is also used by the dwarf-version=2 tests in restrict-dwarf2.ll.
|
||||
|
||||
; CHECK: DW_AT_name ("dst")
|
||||
; V2: DW_AT_type ([[PTR:0x........]]
|
||||
; V3: DW_AT_type ([[RESTRICT:0x........]]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user