[ObjectYAML] Add offloading binary implementations for obj2yaml and yaml2obj
authorJoseph Huber <jhuber6@vols.utk.edu>
Tue, 14 Jun 2022 19:04:39 +0000 (15:04 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Sat, 2 Jul 2022 01:13:18 +0000 (21:13 -0400)
commit228c8f9cc0b2bf615706567f121a422b1b0e7f83
treeac8a597fc0ca5dfea04a099c716489e84c6f31cb
parent927156a67445a6edb1b09e3d6246b0e5a9cf8a16
[ObjectYAML] Add offloading binary implementations for obj2yaml and yaml2obj

This patchs adds the necessary code for inspecting or creating offloading
binaries using the standing `obj2yaml` and `yaml2obj` features in LLVM.

Depends on D127774

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D127776
21 files changed:
llvm/include/llvm/Object/OffloadBinary.h
llvm/include/llvm/ObjectYAML/ObjectYAML.h
llvm/include/llvm/ObjectYAML/OffloadYAML.h [new file with mode: 0644]
llvm/include/llvm/ObjectYAML/yaml2obj.h
llvm/lib/ObjectYAML/CMakeLists.txt
llvm/lib/ObjectYAML/ObjectYAML.cpp
llvm/lib/ObjectYAML/OffloadEmitter.cpp [new file with mode: 0644]
llvm/lib/ObjectYAML/OffloadYAML.cpp [new file with mode: 0644]
llvm/lib/ObjectYAML/yaml2obj.cpp
llvm/test/ObjectYAML/Offload/binary.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/default.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/enumeration_kinds.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/malformed-entry-size.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/malformed-offset.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/malformed-size.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/malformed-version.yaml [new file with mode: 0644]
llvm/test/ObjectYAML/Offload/multiple_members.yaml [new file with mode: 0644]
llvm/tools/obj2yaml/CMakeLists.txt
llvm/tools/obj2yaml/obj2yaml.cpp
llvm/tools/obj2yaml/obj2yaml.h
llvm/tools/obj2yaml/offload2yaml.cpp [new file with mode: 0644]