From 23f8993f32d7aaf3e5cf0cbafd087a46acb0a523 Mon Sep 17 00:00:00 2001 From: Nigel Perks Date: Tue, 18 Aug 2020 13:21:20 +0100 Subject: [PATCH] Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. D73568 removed the lit feature object-emission, because it was introduced for a target which did not support the integrated assembler, and that target no longer required the feature. XCore still does not support the integrated assembler, so a build with XCore as the default target fails tests requiring object-emission. This issue was not publicly visible because there was not a buildbot for XCore as the default target. We fixed the failures downstream. We now have builder clang-xcore-ubuntu-20-x64 on the staging buildmaster, which shows the failures. We would like to make upstream build green. Omit DebugInfo/Generic on XCore to avoid annotating 70 separate files. Differential Revision: https://reviews.llvm.org/D98508 --- llvm/test/CodeGen/Generic/dwarf-md5.ll | 1 + llvm/test/CodeGen/Generic/dwarf-source.ll | 1 + llvm/test/DebugInfo/Generic/lit.local.cfg | 2 ++ llvm/test/DebugInfo/cross-cu-scope.ll | 2 +- llvm/test/DebugInfo/debuglineinfo-path.ll | 2 +- llvm/test/DebugInfo/dwo.ll | 2 +- llvm/test/DebugInfo/omit-empty.ll | 2 +- llvm/test/DebugInfo/skeletoncu.ll | 2 +- llvm/test/Linker/subprogram-linkonce-weak.ll | 1 + llvm/test/Linker/type-unique-odr-a.ll | 2 +- llvm/test/Linker/type-unique-simple-a.ll | 2 +- llvm/test/Linker/type-unique-simple2-a.ll | 2 +- llvm/test/Linker/type-unique-simple2.ll | 2 +- llvm/test/Linker/type-unique-type-array-a.ll | 2 +- llvm/test/lit.cfg.py | 4 ++++ 15 files changed, 19 insertions(+), 10 deletions(-) diff --git a/llvm/test/CodeGen/Generic/dwarf-md5.ll b/llvm/test/CodeGen/Generic/dwarf-md5.ll index 07586ce..2fc25f3 100644 --- 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 index 74b9fb8..4144111 100644 --- 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 index 1eae465..156d7d1 100644 --- 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 index 7f66334..9c10e03 100644 --- 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 index ea32aec..2872d03 100644 --- 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 index 662fd2d..6f239633 100644 --- 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 index 4824dc2..29c8555 100644 --- 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 index d018aba..c05b34d 100644 --- 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 index 7d52e89..4bf69d7 100644 --- a/llvm/test/Linker/subprogram-linkonce-weak.ll +++ b/llvm/test/Linker/subprogram-linkonce-weak.ll @@ -86,6 +86,7 @@ entry: !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 index eef622f..5df2e4d 100644 --- 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 index 61155c6..bff3325 100644 --- 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 index 15d7dec4..9965547 100644 --- 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 index 6c921626..8696ac4 100644 --- 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 index 81e5151..4f0cc44 100644 --- 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 index 32793d3..db94537 100644 --- a/llvm/test/lit.cfg.py +++ b/llvm/test/lit.cfg.py @@ -269,6 +269,10 @@ if have_cxx_shared_library(): 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: -- 2.7.4