forked from OSchip/llvm-project
[clang-offload-wrapper] Disabled ELF offload notes embedding by default.
This change-set puts 93d08acaac
functionality
under -add-omp-offload-notes switch that is OFF by default.
CUDA toolchain is not able to handle ELF images with LLVMOMPOFFLOAD
notes for unknown reason (see https://reviews.llvm.org/D99551#2950272).
I disable the ELF notes embedding until the CUDA issue is triaged and resolved.
Differential Revision: https://reviews.llvm.org/D108246
This commit is contained in:
parent
8c2ff7b69e
commit
1ffbe8c04f
|
@ -19,7 +19,7 @@
|
|||
//
|
||||
// Check bitcode produced by the wrapper tool.
|
||||
//
|
||||
// RUN: clang-offload-wrapper -target=x86_64-pc-linux-gnu -o %t.wrapper.bc %t.tgt 2>&1 | FileCheck %s --check-prefix ELF-WARNING
|
||||
// RUN: clang-offload-wrapper -add-omp-offload-notes -target=x86_64-pc-linux-gnu -o %t.wrapper.bc %t.tgt 2>&1 | FileCheck %s --check-prefix ELF-WARNING
|
||||
// RUN: llvm-dis %t.wrapper.bc -o - | FileCheck %s --check-prefix CHECK-IR
|
||||
|
||||
// ELF-WARNING: is not an ELF image, so notes cannot be added to it.
|
||||
|
@ -58,16 +58,16 @@
|
|||
// Check that clang-offload-wrapper adds LLVMOMPOFFLOAD notes
|
||||
// into the ELF offload images:
|
||||
// RUN: yaml2obj %S/Inputs/empty-elf-template.yaml -o %t.64le -DBITS=64 -DENCODING=LSB
|
||||
// RUN: clang-offload-wrapper -target=x86_64-pc-linux-gnu -o %t.wrapper.elf64le.bc %t.64le
|
||||
// RUN: clang-offload-wrapper -add-omp-offload-notes -target=x86_64-pc-linux-gnu -o %t.wrapper.elf64le.bc %t.64le
|
||||
// RUN: llvm-dis %t.wrapper.elf64le.bc -o - | FileCheck %s --check-prefix OMPNOTES
|
||||
// RUN: yaml2obj %S/Inputs/empty-elf-template.yaml -o %t.64be -DBITS=64 -DENCODING=MSB
|
||||
// RUN: clang-offload-wrapper -target=x86_64-pc-linux-gnu -o %t.wrapper.elf64be.bc %t.64be
|
||||
// RUN: clang-offload-wrapper -add-omp-offload-notes -target=x86_64-pc-linux-gnu -o %t.wrapper.elf64be.bc %t.64be
|
||||
// RUN: llvm-dis %t.wrapper.elf64be.bc -o - | FileCheck %s --check-prefix OMPNOTES
|
||||
// RUN: yaml2obj %S/Inputs/empty-elf-template.yaml -o %t.32le -DBITS=32 -DENCODING=LSB
|
||||
// RUN: clang-offload-wrapper -target=x86_64-pc-linux-gnu -o %t.wrapper.elf32le.bc %t.32le
|
||||
// RUN: clang-offload-wrapper -add-omp-offload-notes -target=x86_64-pc-linux-gnu -o %t.wrapper.elf32le.bc %t.32le
|
||||
// RUN: llvm-dis %t.wrapper.elf32le.bc -o - | FileCheck %s --check-prefix OMPNOTES
|
||||
// RUN: yaml2obj %S/Inputs/empty-elf-template.yaml -o %t.32be -DBITS=32 -DENCODING=MSB
|
||||
// RUN: clang-offload-wrapper -target=x86_64-pc-linux-gnu -o %t.wrapper.elf32be.bc %t.32be
|
||||
// RUN: clang-offload-wrapper -add-omp-offload-notes -target=x86_64-pc-linux-gnu -o %t.wrapper.elf32be.bc %t.32be
|
||||
// RUN: llvm-dis %t.wrapper.elf32be.bc -o - | FileCheck %s --check-prefix OMPNOTES
|
||||
|
||||
// There is no clean way for extracting the offload image
|
||||
|
|
|
@ -76,6 +76,10 @@ static cl::opt<bool> SaveTemps(
|
|||
"This option forces print-out of the temporary files' names."),
|
||||
cl::Hidden);
|
||||
|
||||
static cl::opt<bool> AddOpenMPOffloadNotes(
|
||||
"add-omp-offload-notes",
|
||||
cl::desc("Add LLVMOMPOFFLOAD ELF notes to ELF device images."), cl::Hidden);
|
||||
|
||||
namespace {
|
||||
|
||||
class BinaryWrapper {
|
||||
|
@ -630,7 +634,7 @@ int main(int argc, const char **argv) {
|
|||
return 1;
|
||||
}
|
||||
std::unique_ptr<MemoryBuffer> Buffer(std::move(*BufOrErr));
|
||||
if (File != "-") {
|
||||
if (File != "-" && AddOpenMPOffloadNotes) {
|
||||
// Adding ELF notes for STDIN is not supported yet.
|
||||
Buffer = Wrapper.addELFNotes(std::move(Buffer), File);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue