diff --git a/llvm/test/CodeGen/Generic/dwarf-md5.ll b/llvm/test/CodeGen/Generic/dwarf-md5.ll --- a/llvm/test/CodeGen/Generic/dwarf-md5.ll +++ b/llvm/test/CodeGen/Generic/dwarf-md5.ll @@ -1,6 +1,7 @@ ; MD5 checksums provided by IR should be passed through to asm. ; They'll be emitted to an object file only for DWARF 5 or later. +; REQUIRES: object-emission ; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-4 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-5 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=obj -o %t4.o %s diff --git a/llvm/test/CodeGen/Generic/dwarf-source.ll b/llvm/test/CodeGen/Generic/dwarf-source.ll --- a/llvm/test/CodeGen/Generic/dwarf-source.ll +++ b/llvm/test/CodeGen/Generic/dwarf-source.ll @@ -1,6 +1,7 @@ ; Source text provided by IR should be passed through to asm. ; It is emitted to an object file only for DWARF 5 or later. +; REQUIRES: object-emission ; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-4 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM-5 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=obj -o %t4.o %s diff --git a/llvm/test/DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll b/llvm/test/DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll --- a/llvm/test/DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll +++ b/llvm/test/DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj -o - < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Radar 7833483 ; Do not emit a separate out-of-line definition DIE for the function-local 'foo' diff --git a/llvm/test/DebugInfo/Generic/2010-05-10-MultipleCU.ll b/llvm/test/DebugInfo/Generic/2010-05-10-MultipleCU.ll --- a/llvm/test/DebugInfo/Generic/2010-05-10-MultipleCU.ll +++ b/llvm/test/DebugInfo/Generic/2010-05-10-MultipleCU.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s ; Check that two compile units are generated diff --git a/llvm/test/DebugInfo/Generic/DICommonBlock.ll b/llvm/test/DebugInfo/Generic/DICommonBlock.ll --- a/llvm/test/DebugInfo/Generic/DICommonBlock.ll +++ b/llvm/test/DebugInfo/Generic/DICommonBlock.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s ; CHECK: DW_TAG_common_block diff --git a/llvm/test/DebugInfo/Generic/PR20038.ll b/llvm/test/DebugInfo/Generic/PR20038.ll --- a/llvm/test/DebugInfo/Generic/PR20038.ll +++ b/llvm/test/DebugInfo/Generic/PR20038.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; For some reason, the output when targetting sparc is not quite as expected. ; XFAIL: sparc diff --git a/llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll b/llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll --- a/llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll +++ b/llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Apple -filetype=obj -o - < %s \ ; RUN: | llvm-dwarfdump -apple-names - | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/address_space_rvalue.ll b/llvm/test/DebugInfo/Generic/address_space_rvalue.ll --- a/llvm/test/DebugInfo/Generic/address_space_rvalue.ll +++ b/llvm/test/DebugInfo/Generic/address_space_rvalue.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s ; This nonsensical example tests that address spaces for rvalue diff --git a/llvm/test/DebugInfo/Generic/constant-pointers.ll b/llvm/test/DebugInfo/Generic/constant-pointers.ll --- a/llvm/test/DebugInfo/Generic/constant-pointers.ll +++ b/llvm/test/DebugInfo/Generic/constant-pointers.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Ensure that pointer constants are emitted as unsigned data. Alternatively, diff --git a/llvm/test/DebugInfo/Generic/containing-type-extension.ll b/llvm/test/DebugInfo/Generic/containing-type-extension.ll --- a/llvm/test/DebugInfo/Generic/containing-type-extension.ll +++ b/llvm/test/DebugInfo/Generic/containing-type-extension.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/cross-cu-inlining.ll b/llvm/test/DebugInfo/Generic/cross-cu-inlining.ll --- a/llvm/test/DebugInfo/Generic/cross-cu-inlining.ll +++ b/llvm/test/DebugInfo/Generic/cross-cu-inlining.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck -implicit-check-not=DW_TAG %s ; RUN: %llc_dwarf -accel-tables=Apple -dwarf-linkage-names=All -O0 -filetype=obj < %s | llvm-dwarfdump -v - | FileCheck --check-prefix=CHECK-ACCEL --check-prefix=CHECK %s diff --git a/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll b/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll --- a/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll +++ b/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Testing that two distinct (distinct by writing them in separate files, while diff --git a/llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll b/llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll --- a/llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll +++ b/llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Built from source: diff --git a/llvm/test/DebugInfo/Generic/cu-range-hole.ll b/llvm/test/DebugInfo/Generic/cu-range-hole.ll --- a/llvm/test/DebugInfo/Generic/cu-range-hole.ll +++ b/llvm/test/DebugInfo/Generic/cu-range-hole.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj %s -o %t ; RUN: llvm-dwarfdump %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/cu-ranges.ll b/llvm/test/DebugInfo/Generic/cu-ranges.ll --- a/llvm/test/DebugInfo/Generic/cu-ranges.ll +++ b/llvm/test/DebugInfo/Generic/cu-ranges.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj %s -o %t ; RUN: llvm-dwarfdump -v %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/dead-argument-order.ll b/llvm/test/DebugInfo/Generic/dead-argument-order.ll --- a/llvm/test/DebugInfo/Generic/dead-argument-order.ll +++ b/llvm/test/DebugInfo/Generic/dead-argument-order.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Built from the following source with clang -O1 diff --git a/llvm/test/DebugInfo/Generic/debug-info-enum.ll b/llvm/test/DebugInfo/Generic/debug-info-enum.ll --- a/llvm/test/DebugInfo/Generic/debug-info-enum.ll +++ b/llvm/test/DebugInfo/Generic/debug-info-enum.ll @@ -7,6 +7,7 @@ ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-DW4 ; RUN: llc -debugger-tune=gdb -dwarf-version=2 -filetype=obj -o %t.o < %s ; RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-DW2 +; REQUIRES: object-emission @x0 = global i8 0, align 1, !dbg !0 @x1 = global i8 0, align 1, !dbg !46 diff --git a/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll b/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll --- a/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll +++ b/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; Test (r)value qualifiers on C++11 non-static member functions. ; Generated from tools/clang/test/CodeGenCXX/debug-info-qualifiers.cpp ; diff --git a/llvm/test/DebugInfo/Generic/debug-label-inline.ll b/llvm/test/DebugInfo/Generic/debug-label-inline.ll --- a/llvm/test/DebugInfo/Generic/debug-label-inline.ll +++ b/llvm/test/DebugInfo/Generic/debug-label-inline.ll @@ -1,4 +1,5 @@ ; RUN: llc -O0 -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s +; REQUIRES: object-emission ; ; Bug 47129 ; XFAIL: sparc diff --git a/llvm/test/DebugInfo/Generic/debug-label.ll b/llvm/test/DebugInfo/Generic/debug-label.ll --- a/llvm/test/DebugInfo/Generic/debug-label.ll +++ b/llvm/test/DebugInfo/Generic/debug-label.ll @@ -1,4 +1,5 @@ ; RUN: llc -O0 -filetype=obj -o - %s | llvm-dwarfdump -v - | FileCheck %s +; REQUIRES: object-emission ; ; CHECK: .debug_info contents: ; CHECK: DW_TAG_label diff --git a/llvm/test/DebugInfo/Generic/debug-names-empty-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-empty-cu.ll --- a/llvm/test/DebugInfo/Generic/debug-names-empty-cu.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-empty-cu.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-empty-name.ll b/llvm/test/DebugInfo/Generic/debug-names-empty-name.ll --- a/llvm/test/DebugInfo/Generic/debug-names-empty-name.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-empty-name.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -debugger-tune=lldb -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -find=_GLOBAL__sub_I__ %t | FileCheck --check-prefix=INFO %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck --check-prefix=NAMES %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll b/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll --- a/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-index-type.ll b/llvm/test/DebugInfo/Generic/debug-names-index-type.ll --- a/llvm/test/DebugInfo/Generic/debug-names-index-type.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-index-type.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll b/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll --- a/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; Generate one file with all linkage names, and another with only abstract ones. ; Then test both. ; RUN: %llc_dwarf -accel-tables=Dwarf -dwarf-linkage-names=All -filetype=obj -o %t.All < %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll --- a/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-name-collisions.ll b/llvm/test/DebugInfo/Generic/debug-names-name-collisions.ll --- a/llvm/test/DebugInfo/Generic/debug-names-name-collisions.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-name-collisions.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -dwarf-linkage-names=All -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll --- a/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll --- a/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll +++ b/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -accel-tables=Dwarf -filetype=obj -o %t < %s ; RUN: llvm-dwarfdump -debug-names %t | FileCheck %s ; RUN: llvm-dwarfdump -debug-names -verify %t | FileCheck --check-prefix=VERIFY %s diff --git a/llvm/test/DebugInfo/Generic/def-line.ll b/llvm/test/DebugInfo/Generic/def-line.ll --- a/llvm/test/DebugInfo/Generic/def-line.ll +++ b/llvm/test/DebugInfo/Generic/def-line.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s ; Given the following source, ensure that the decl_line/file is correctly diff --git a/llvm/test/DebugInfo/Generic/discriminated-union.ll b/llvm/test/DebugInfo/Generic/discriminated-union.ll --- a/llvm/test/DebugInfo/Generic/discriminated-union.ll +++ b/llvm/test/DebugInfo/Generic/discriminated-union.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/discriminator.ll b/llvm/test/DebugInfo/Generic/discriminator.ll --- a/llvm/test/DebugInfo/Generic/discriminator.ll +++ b/llvm/test/DebugInfo/Generic/discriminator.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s ; Given the following source, ensure that the discriminator is emitted for diff --git a/llvm/test/DebugInfo/Generic/disubrange_vla.ll b/llvm/test/DebugInfo/Generic/disubrange_vla.ll --- a/llvm/test/DebugInfo/Generic/disubrange_vla.ll +++ b/llvm/test/DebugInfo/Generic/disubrange_vla.ll @@ -3,6 +3,7 @@ ; RUN: llvm-dwarfdump -name=vla_expr %t > %t2 ; RUN: llvm-dwarfdump -verbose %t >> %t2 ; RUN: cat %t2 | FileCheck %s +; REQUIRES: object-emission ; This test runs llvm-dwarfdump twice: ; - First to get the debug entry for 'vla_expr'. diff --git a/llvm/test/DebugInfo/Generic/disubrange_vla_no_dbgvalue.ll b/llvm/test/DebugInfo/Generic/disubrange_vla_no_dbgvalue.ll --- a/llvm/test/DebugInfo/Generic/disubrange_vla_no_dbgvalue.ll +++ b/llvm/test/DebugInfo/Generic/disubrange_vla_no_dbgvalue.ll @@ -3,6 +3,7 @@ ; RUN: llvm-dwarfdump -verbose -name=vla %t > %t2 ; RUN: llvm-dwarfdump -verbose %t >> %t2 ; RUN: cat %t2 | FileCheck %s +; REQUIRES: object-emission ; This test runs llvm-dwarfdump twice: ; - First to get the debug entry for 'vla', to get the array type node. diff --git a/llvm/test/DebugInfo/Generic/dwarf-public-names.ll b/llvm/test/DebugInfo/Generic/dwarf-public-names.ll --- a/llvm/test/DebugInfo/Generic/dwarf-public-names.ll +++ b/llvm/test/DebugInfo/Generic/dwarf-public-names.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -debugger-tune=gdb -filetype=obj -o %t.o < %s ; RUN: llvm-dwarfdump -debug-pubnames %t.o | FileCheck %s ; ModuleID = 'dwarf-public-names.cpp' diff --git a/llvm/test/DebugInfo/Generic/empty.ll b/llvm/test/DebugInfo/Generic/empty.ll --- a/llvm/test/DebugInfo/Generic/empty.ll +++ b/llvm/test/DebugInfo/Generic/empty.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck %s ; RUN: %llc_dwarf -split-dwarf-file=foo.dwo < %s -filetype=obj | llvm-dwarfdump -v - | FileCheck --check-prefix=FISSION %s diff --git a/llvm/test/DebugInfo/Generic/enum-types.ll b/llvm/test/DebugInfo/Generic/enum-types.ll --- a/llvm/test/DebugInfo/Generic/enum-types.ll +++ b/llvm/test/DebugInfo/Generic/enum-types.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; ; RUN: %llc_dwarf -filetype=obj -O0 -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/enum.ll b/llvm/test/DebugInfo/Generic/enum.ll --- a/llvm/test/DebugInfo/Generic/enum.ll +++ b/llvm/test/DebugInfo/Generic/enum.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/export-symbol-anonymous-class.ll b/llvm/test/DebugInfo/Generic/export-symbol-anonymous-class.ll --- a/llvm/test/DebugInfo/Generic/export-symbol-anonymous-class.ll +++ b/llvm/test/DebugInfo/Generic/export-symbol-anonymous-class.ll @@ -1,4 +1,5 @@ ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s +; REQUIRES: object-emission ; ; struct A { ; // Anonymous class exports its symbols into A diff --git a/llvm/test/DebugInfo/Generic/fortran-subprogram-attr.ll b/llvm/test/DebugInfo/Generic/fortran-subprogram-attr.ll --- a/llvm/test/DebugInfo/Generic/fortran-subprogram-attr.ll +++ b/llvm/test/DebugInfo/Generic/fortran-subprogram-attr.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; Test for DISPFlagPure, DISPFlagElement and DISPFlagRecursive. These ; three DISPFlags are used to attach DW_AT_pure, DW_AT_element, and ; DW_AT_recursive attributes to DW_TAG_subprogram DIEs. diff --git a/llvm/test/DebugInfo/Generic/global.ll b/llvm/test/DebugInfo/Generic/global.ll --- a/llvm/test/DebugInfo/Generic/global.ll +++ b/llvm/test/DebugInfo/Generic/global.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/gmlt.test b/llvm/test/DebugInfo/Generic/gmlt.test --- a/llvm/test/DebugInfo/Generic/gmlt.test +++ b/llvm/test/DebugInfo/Generic/gmlt.test @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj < %S/../Inputs/gmlt.ll | llvm-dwarfdump -v - | FileCheck %S/../Inputs/gmlt.ll ; There's a darwin specific test in X86/gmlt, so it's okay to XFAIL this here. diff --git a/llvm/test/DebugInfo/Generic/gmlt_profiling.ll b/llvm/test/DebugInfo/Generic/gmlt_profiling.ll --- a/llvm/test/DebugInfo/Generic/gmlt_profiling.ll +++ b/llvm/test/DebugInfo/Generic/gmlt_profiling.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj < %S/gmlt_profiling.ll | llvm-dwarfdump -v - | FileCheck %S/gmlt_profiling.ll ; CHECK: .debug_info diff --git a/llvm/test/DebugInfo/Generic/imported-name-inlined.ll b/llvm/test/DebugInfo/Generic/imported-name-inlined.ll --- a/llvm/test/DebugInfo/Generic/imported-name-inlined.ll +++ b/llvm/test/DebugInfo/Generic/imported-name-inlined.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s ; Generated from the following source: diff --git a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll --- a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll +++ b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O2 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; This is a test case that's as reduced as I can get it, though I haven't fully diff --git a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll --- a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll +++ b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; xfail this test on hexagon because at O2, instructions are bundled in packets ; and DW_OP_lit13 is correctly omitted. ; XFAIL: hexagon diff --git a/llvm/test/DebugInfo/Generic/inline-scopes.ll b/llvm/test/DebugInfo/Generic/inline-scopes.ll --- a/llvm/test/DebugInfo/Generic/inline-scopes.ll +++ b/llvm/test/DebugInfo/Generic/inline-scopes.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s ; bool f(); diff --git a/llvm/test/DebugInfo/Generic/inlined-arguments.ll b/llvm/test/DebugInfo/Generic/inlined-arguments.ll --- a/llvm/test/DebugInfo/Generic/inlined-arguments.ll +++ b/llvm/test/DebugInfo/Generic/inlined-arguments.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -filetype=obj < %s > %t ; RUN: llvm-dwarfdump %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/inlined-strings.ll b/llvm/test/DebugInfo/Generic/inlined-strings.ll --- a/llvm/test/DebugInfo/Generic/inlined-strings.ll +++ b/llvm/test/DebugInfo/Generic/inlined-strings.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s -dwarf-inlined-strings=Enable -o - | llvm-dwarfdump -show-form - | FileCheck %s ; Also test that the null streamer doesn't crash with debug info. diff --git a/llvm/test/DebugInfo/Generic/line-table-addrx.ll b/llvm/test/DebugInfo/Generic/line-table-addrx.ll --- a/llvm/test/DebugInfo/Generic/line-table-addrx.ll +++ b/llvm/test/DebugInfo/Generic/line-table-addrx.ll @@ -1,4 +1,5 @@ ; RUN: %llc_dwarf -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s +; REQUIRES: object-emission ;; In DWARF v5, emit DW_AT_addr_base as DW_AT_addr_base is used for DW_AT_low_pc. ; CHECK: DW_AT_low_pc [DW_FORM_addrx] diff --git a/llvm/test/DebugInfo/Generic/linkage-name-abstract.ll b/llvm/test/DebugInfo/Generic/linkage-name-abstract.ll --- a/llvm/test/DebugInfo/Generic/linkage-name-abstract.ll +++ b/llvm/test/DebugInfo/Generic/linkage-name-abstract.ll @@ -5,6 +5,7 @@ ; RUN: %llc_dwarf -O0 -filetype=obj -debugger-tune=sce < %s | llvm-dwarfdump -v -debug-info - > %t ; RUN: FileCheck %s -check-prefix=ONENAME < %t ; RUN: FileCheck %s -check-prefix=REF < %t +; REQUIRES: object-emission ; Verify that the only linkage-name present is the abstract origin of the ; inlined subprogram. diff --git a/llvm/test/DebugInfo/Generic/lto-comp-dir.ll b/llvm/test/DebugInfo/Generic/lto-comp-dir.ll --- a/llvm/test/DebugInfo/Generic/lto-comp-dir.ll +++ b/llvm/test/DebugInfo/Generic/lto-comp-dir.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump -debug-line - | FileCheck %s ; RUN: %llc_dwarf < %s -filetype=asm | FileCheck --check-prefix=ASM %s diff --git a/llvm/test/DebugInfo/Generic/mainsubprogram.ll b/llvm/test/DebugInfo/Generic/mainsubprogram.ll --- a/llvm/test/DebugInfo/Generic/mainsubprogram.ll +++ b/llvm/test/DebugInfo/Generic/mainsubprogram.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/member-order.ll b/llvm/test/DebugInfo/Generic/member-order.ll --- a/llvm/test/DebugInfo/Generic/member-order.ll +++ b/llvm/test/DebugInfo/Generic/member-order.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; generated by clang from: diff --git a/llvm/test/DebugInfo/Generic/member-pointers.ll b/llvm/test/DebugInfo/Generic/member-pointers.ll --- a/llvm/test/DebugInfo/Generic/member-pointers.ll +++ b/llvm/test/DebugInfo/Generic/member-pointers.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s ; CHECK: DW_TAG_ptr_to_member_type diff --git a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll --- a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll +++ b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; The formal parameter 'b' for Function 'x' when inlined within 'a' is lost on diff --git a/llvm/test/DebugInfo/Generic/multiline.ll b/llvm/test/DebugInfo/Generic/multiline.ll --- a/llvm/test/DebugInfo/Generic/multiline.ll +++ b/llvm/test/DebugInfo/Generic/multiline.ll @@ -1,5 +1,6 @@ ; RUN: llc -filetype=asm -asm-verbose=0 -O0 < %s | FileCheck %s ; RUN: llc -filetype=obj -O0 < %s | llvm-dwarfdump -debug-line - | FileCheck %s --check-prefix=INT +; REQUIRES: object-emission ; Check that the assembly output properly handles is_stmt changes. And since ; we're testing anyway, check the integrated assembler too. diff --git a/llvm/test/DebugInfo/Generic/namespace.ll b/llvm/test/DebugInfo/Generic/namespace.ll --- a/llvm/test/DebugInfo/Generic/namespace.ll +++ b/llvm/test/DebugInfo/Generic/namespace.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v - | FileCheck %s ; CHECK: debug_info contents ; CHECK: DW_AT_name{{.*}}= [[F1:.*]]) diff --git a/llvm/test/DebugInfo/Generic/namespace_function_definition.ll b/llvm/test/DebugInfo/Generic/namespace_function_definition.ll --- a/llvm/test/DebugInfo/Generic/namespace_function_definition.ll +++ b/llvm/test/DebugInfo/Generic/namespace_function_definition.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Generated from clang with the following source: diff --git a/llvm/test/DebugInfo/Generic/namespace_inline_function_definition.ll b/llvm/test/DebugInfo/Generic/namespace_inline_function_definition.ll --- a/llvm/test/DebugInfo/Generic/namespace_inline_function_definition.ll +++ b/llvm/test/DebugInfo/Generic/namespace_inline_function_definition.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj -dwarf-linkage-names=All < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; Generate from clang with the following source. Note that the definition of diff --git a/llvm/test/DebugInfo/Generic/no-empty-child-vars.ll b/llvm/test/DebugInfo/Generic/no-empty-child-vars.ll --- a/llvm/test/DebugInfo/Generic/no-empty-child-vars.ll +++ b/llvm/test/DebugInfo/Generic/no-empty-child-vars.ll @@ -1,4 +1,5 @@ ; RUN: %llc_dwarf %s -o - -filetype=obj | llvm-dwarfdump - | FileCheck %s -implicit-check-not=DW_TAG +; REQUIRES: object-emission ; ; This tests that we do not create concrete variable DIEs for variables that ; have no location -- for both ways that LLVM-IR can express a variable with diff --git a/llvm/test/DebugInfo/Generic/noscopes.ll b/llvm/test/DebugInfo/Generic/noscopes.ll --- a/llvm/test/DebugInfo/Generic/noscopes.ll +++ b/llvm/test/DebugInfo/Generic/noscopes.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s ; Just because there are no scopes/locations on any instructions in the diff --git a/llvm/test/DebugInfo/Generic/pass-by-value.ll b/llvm/test/DebugInfo/Generic/pass-by-value.ll --- a/llvm/test/DebugInfo/Generic/pass-by-value.ll +++ b/llvm/test/DebugInfo/Generic/pass-by-value.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s ; ; // S is not trivially copyable. diff --git a/llvm/test/DebugInfo/Generic/ptrsize.ll b/llvm/test/DebugInfo/Generic/ptrsize.ll --- a/llvm/test/DebugInfo/Generic/ptrsize.ll +++ b/llvm/test/DebugInfo/Generic/ptrsize.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/recursive_inlining.ll b/llvm/test/DebugInfo/Generic/recursive_inlining.ll --- a/llvm/test/DebugInfo/Generic/recursive_inlining.ll +++ b/llvm/test/DebugInfo/Generic/recursive_inlining.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -filetype=obj -O0 < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; This isn't a very pretty test case - I imagine there might be other ways to diff --git a/llvm/test/DebugInfo/Generic/restrict.ll b/llvm/test/DebugInfo/Generic/restrict.ll --- a/llvm/test/DebugInfo/Generic/restrict.ll +++ b/llvm/test/DebugInfo/Generic/restrict.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -dwarf-version=2 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V2 %s ; RUN: %llc_dwarf -dwarf-version=3 -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck --check-prefix=CHECK --check-prefix=V3 %s diff --git a/llvm/test/DebugInfo/Generic/skeletoncu.ll b/llvm/test/DebugInfo/Generic/skeletoncu.ll --- a/llvm/test/DebugInfo/Generic/skeletoncu.ll +++ b/llvm/test/DebugInfo/Generic/skeletoncu.ll @@ -1,5 +1,6 @@ ; RUN: %llc_dwarf %s -filetype=obj -o %t ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s +; REQUIRES: object-emission ; CHECK: DW_TAG_compile_unit ; CHECK: DW_AT_GNU_dwo_id {{.*}}abcd ; CHECK: DW_AT_GNU_dwo_name {{.*}}"my.dwo" diff --git a/llvm/test/DebugInfo/Generic/string-offsets-form.ll b/llvm/test/DebugInfo/Generic/string-offsets-form.ll --- a/llvm/test/DebugInfo/Generic/string-offsets-form.ll +++ b/llvm/test/DebugInfo/Generic/string-offsets-form.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; RUN: %llc_dwarf -filetype=obj < %s | llvm-dwarfdump -all -show-form -v - \ ; RUN: | FileCheck %s ; diff --git a/llvm/test/DebugInfo/Generic/sugared-constants.ll b/llvm/test/DebugInfo/Generic/sugared-constants.ll --- a/llvm/test/DebugInfo/Generic/sugared-constants.ll +++ b/llvm/test/DebugInfo/Generic/sugared-constants.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; xfail this test on hexagon because upstream llc is not emitting the ; correct DWARF info. Downstream llc is. ; XFAIL: hexagon diff --git a/llvm/test/DebugInfo/Generic/template-recursive-void.ll b/llvm/test/DebugInfo/Generic/template-recursive-void.ll --- a/llvm/test/DebugInfo/Generic/template-recursive-void.ll +++ b/llvm/test/DebugInfo/Generic/template-recursive-void.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/thrownTypes.ll b/llvm/test/DebugInfo/Generic/thrownTypes.ll --- a/llvm/test/DebugInfo/Generic/thrownTypes.ll +++ b/llvm/test/DebugInfo/Generic/thrownTypes.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s ; CHECK: DW_TAG_subprogram diff --git a/llvm/test/DebugInfo/Generic/tu-composite.ll b/llvm/test/DebugInfo/Generic/tu-composite.ll --- a/llvm/test/DebugInfo/Generic/tu-composite.ll +++ b/llvm/test/DebugInfo/Generic/tu-composite.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s ; CHECK: [[TYPE:.*]]: DW_TAG_structure_type diff --git a/llvm/test/DebugInfo/Generic/tu-member-pointer.ll b/llvm/test/DebugInfo/Generic/tu-member-pointer.ll --- a/llvm/test/DebugInfo/Generic/tu-member-pointer.ll +++ b/llvm/test/DebugInfo/Generic/tu-member-pointer.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -filetype=obj -O0 < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s ; CHECK: DW_TAG_ptr_to_member_type diff --git a/llvm/test/DebugInfo/Generic/two-cus-from-same-file.ll b/llvm/test/DebugInfo/Generic/two-cus-from-same-file.ll --- a/llvm/test/DebugInfo/Generic/two-cus-from-same-file.ll +++ b/llvm/test/DebugInfo/Generic/two-cus-from-same-file.ll @@ -3,6 +3,8 @@ ; blow llc up and produces something reasonable. ; +; REQUIRES: object-emission + ; RUN: %llc_dwarf %s -o %t -filetype=obj -O0 ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/typedef.ll b/llvm/test/DebugInfo/Generic/typedef.ll --- a/llvm/test/DebugInfo/Generic/typedef.ll +++ b/llvm/test/DebugInfo/Generic/typedef.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck %s ; From source: diff --git a/llvm/test/DebugInfo/Generic/unconditional-branch.ll b/llvm/test/DebugInfo/Generic/unconditional-branch.ll --- a/llvm/test/DebugInfo/Generic/unconditional-branch.ll +++ b/llvm/test/DebugInfo/Generic/unconditional-branch.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; PR 19261 ; RUN: %llc_dwarf -fast-isel=false -O0 -filetype=obj %s -o %t diff --git a/llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll b/llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll --- a/llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll +++ b/llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/varargs.ll b/llvm/test/DebugInfo/Generic/varargs.ll --- a/llvm/test/DebugInfo/Generic/varargs.ll +++ b/llvm/test/DebugInfo/Generic/varargs.ll @@ -1,5 +1,6 @@ ; RUN: %llc_dwarf -O0 -filetype=obj -o %t.o %s ; RUN: llvm-dwarfdump -v -debug-info %t.o | FileCheck %s +; REQUIRES: object-emission ; ; Test debug info for variadic function arguments. ; Created from tools/clang/tests/CodeGenCXX/debug-info-varargs.cpp diff --git a/llvm/test/DebugInfo/Generic/version.ll b/llvm/test/DebugInfo/Generic/version.ll --- a/llvm/test/DebugInfo/Generic/version.ll +++ b/llvm/test/DebugInfo/Generic/version.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump %t | FileCheck %s diff --git a/llvm/test/DebugInfo/Generic/virtual-index.ll b/llvm/test/DebugInfo/Generic/virtual-index.ll --- a/llvm/test/DebugInfo/Generic/virtual-index.ll +++ b/llvm/test/DebugInfo/Generic/virtual-index.ll @@ -1,3 +1,5 @@ +; REQUIRES: object-emission + ; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -v %t | FileCheck %s diff --git a/llvm/test/DebugInfo/cross-cu-scope.ll b/llvm/test/DebugInfo/cross-cu-scope.ll --- a/llvm/test/DebugInfo/cross-cu-scope.ll +++ b/llvm/test/DebugInfo/cross-cu-scope.ll @@ -1,6 +1,6 @@ ; RUN: %llc_dwarf %s -filetype=obj -o %t ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; Reduced test case from PR35212. Two DISubprogram belong to a different CU but ; share a scope. Both are declarations and end up in the scope's CU. We want to diff --git a/llvm/test/DebugInfo/debuglineinfo-path.ll b/llvm/test/DebugInfo/debuglineinfo-path.ll --- a/llvm/test/DebugInfo/debuglineinfo-path.ll +++ b/llvm/test/DebugInfo/debuglineinfo-path.ll @@ -3,7 +3,7 @@ ; On powerpc llvm-nm describes win_func as a global variable, not a function. It breaks the test. ; It is not essential to DWARF path handling code we're testing here. ; UNSUPPORTED: powerpc -; REQUIRES: default_triple +; REQUIRES: object-emission, default_triple ; RUN: %llc_dwarf -O0 -filetype=obj -o %t < %s ; RUN: llvm-nm --radix=o %t | grep posix_absolute_func > %t.posix_absolute_func ; RUN: llvm-nm --radix=o %t | grep posix_relative_func > %t.posix_relative_func diff --git a/llvm/test/DebugInfo/dwo.ll b/llvm/test/DebugInfo/dwo.ll --- a/llvm/test/DebugInfo/dwo.ll +++ b/llvm/test/DebugInfo/dwo.ll @@ -1,6 +1,6 @@ ; RUN: %llc_dwarf %s -filetype=obj -o %t ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; ; CHECK: DW_TAG_compile_unit ; CHECK-NOT: dwo_id diff --git a/llvm/test/DebugInfo/omit-empty.ll b/llvm/test/DebugInfo/omit-empty.ll --- a/llvm/test/DebugInfo/omit-empty.ll +++ b/llvm/test/DebugInfo/omit-empty.ll @@ -1,5 +1,5 @@ ; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-objdump -h - | FileCheck %s -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; CHECK-NOT: .debug_ diff --git a/llvm/test/DebugInfo/skeletoncu.ll b/llvm/test/DebugInfo/skeletoncu.ll --- a/llvm/test/DebugInfo/skeletoncu.ll +++ b/llvm/test/DebugInfo/skeletoncu.ll @@ -3,7 +3,7 @@ ; CHECK: DW_TAG_compile_unit ; CHECK: DW_AT_GNU_dwo_id {{.*}}abcd ; CHECK: DW_AT_GNU_dwo_name {{.*}}"my.dwo" -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission !llvm.dbg.cu = !{!0} !llvm.module.flags = !{!3, !4} diff --git a/llvm/test/Linker/subprogram-linkonce-weak.ll b/llvm/test/Linker/subprogram-linkonce-weak.ll --- a/llvm/test/Linker/subprogram-linkonce-weak.ll +++ b/llvm/test/Linker/subprogram-linkonce-weak.ll @@ -86,6 +86,7 @@ !5 = !DISubroutineType(types: !{}) ; Crasher for llc. +; REQUIRES: object-emission ; RUN: %llc_dwarf -filetype=obj -O0 %t1 -o %t1.o ; RUN: llvm-dwarfdump %t1.o --all | FileCheck %s -check-prefix=DWLW -check-prefix=DW ; RUN: %llc_dwarf -filetype=obj -O0 %t2 -o %t2.o diff --git a/llvm/test/Linker/type-unique-odr-a.ll b/llvm/test/Linker/type-unique-odr-a.ll --- a/llvm/test/Linker/type-unique-odr-a.ll +++ b/llvm/test/Linker/type-unique-odr-a.ll @@ -1,4 +1,4 @@ -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; ; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - \ ; RUN: | %llc_dwarf -dwarf-linkage-names=All -filetype=obj -O0 \ diff --git a/llvm/test/Linker/type-unique-simple-a.ll b/llvm/test/Linker/type-unique-simple-a.ll --- a/llvm/test/Linker/type-unique-simple-a.ll +++ b/llvm/test/Linker/type-unique-simple-a.ll @@ -1,4 +1,4 @@ -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; RUN: llvm-link %s %p/type-unique-simple-b.ll -S -o %t ; RUN: cat %t | FileCheck %s -check-prefix=LINK diff --git a/llvm/test/Linker/type-unique-simple2-a.ll b/llvm/test/Linker/type-unique-simple2-a.ll --- a/llvm/test/Linker/type-unique-simple2-a.ll +++ b/llvm/test/Linker/type-unique-simple2-a.ll @@ -1,4 +1,4 @@ -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; ; RUN: llvm-link %s %p/type-unique-simple2-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -v -debug-info - | FileCheck %s ; diff --git a/llvm/test/Linker/type-unique-simple2.ll b/llvm/test/Linker/type-unique-simple2.ll --- a/llvm/test/Linker/type-unique-simple2.ll +++ b/llvm/test/Linker/type-unique-simple2.ll @@ -1,3 +1,4 @@ +; REQUIRES: object-emission ; REQUIRES: default_triple ; RUN: llvm-link %S/Inputs/type-unique-simple2-a.ll %S/Inputs/type-unique-simple2-b.ll -S -o %t diff --git a/llvm/test/Linker/type-unique-type-array-a.ll b/llvm/test/Linker/type-unique-type-array-a.ll --- a/llvm/test/Linker/type-unique-type-array-a.ll +++ b/llvm/test/Linker/type-unique-type-array-a.ll @@ -1,4 +1,4 @@ -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; ; 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 ; diff --git a/llvm/test/lit.cfg.py b/llvm/test/lit.cfg.py --- a/llvm/test/lit.cfg.py +++ b/llvm/test/lit.cfg.py @@ -268,6 +268,10 @@ if config.libcxx_used: config.available_features.add('libcxx-used') +# Direct object generation +if not 'xcore' in config.target_triple: + config.available_features.add('object-emission') + # LLVM can be configured with an empty default triple # Some tests are "generic" and require a valid default triple if config.target_triple: