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/lit.local.cfg b/llvm/test/DebugInfo/Generic/lit.local.cfg --- a/llvm/test/DebugInfo/Generic/lit.local.cfg +++ b/llvm/test/DebugInfo/Generic/lit.local.cfg @@ -1,2 +1,4 @@ if not config.target_triple: config.unsupported = True +elif 'xcore' in config.target_triple: + config.unsupported = True 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: default_triple, object-emission ; 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,4 +1,4 @@ -; REQUIRES: default_triple +; REQUIRES: default_triple, object-emission ; RUN: llvm-link %S/Inputs/type-unique-simple2-a.ll %S/Inputs/type-unique-simple2-b.ll -S -o %t ; RUN: cat %t | FileCheck %S/Inputs/type-unique-simple2-a.ll -check-prefix=LINK 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 @@ -269,6 +269,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: