|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
ccf7dd5e |
| 02-Jul-2022 |
Joseph Huber <[email protected]> |
[llvm-objdump] Ensure offloading sections have proper alignment
Summary: A previous patch added support for dumping offloading sections. The tests for this feature added dummy input to the required
[llvm-objdump] Ensure offloading sections have proper alignment
Summary: A previous patch added support for dumping offloading sections. The tests for this feature added dummy input to the required section using `llvm-objcopy`. This binary format has a required alignment of `8` which was not being respected by the file copied with llvm-objcopy and would cause failures on architectures sensitive to alignment problems or with sanitizers. This patch adds the proper alignemnt and adds an error check at least for the binary format so it's not completely opaque. This should be improvbed so users actually get a helpful message.
show more ...
|
| #
1dcbe03c |
| 24-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Further improve malformed input handling for the OffloadBinary
Summary: This patch adds some new sanity checks to make sure that the sizes of the offsets are within the bounds of the file o
[Binary] Further improve malformed input handling for the OffloadBinary
Summary: This patch adds some new sanity checks to make sure that the sizes of the offsets are within the bounds of the file or what is expected by the binary. This also improves the error handling of the version structure to be built into the binary itself so we can change it easier.
show more ...
|
| #
7c9a3825 |
| 23-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Fix leftoever line
|
| #
4e2a0092 |
| 23-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Reserve the correct size for the OffloadBinary
Summary: When writing the offload binary, we use a SmallVector. We already know the size that we expect the buffer to take up so we should res
[Binary] Reserve the correct size for the OffloadBinary
Summary: When writing the offload binary, we use a SmallVector. We already know the size that we expect the buffer to take up so we should reserve all that memory up-front to improve performance. Also this patch adds some extra sanity checks for the binary format for safety.
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
f06731e3 |
| 06-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Make the OffloadingImage type own the memory
Summary: The OffloadingBinary uses a convenience struct to help manage the memory that will be serialized using the binary format. This currentl
[Binary] Make the OffloadingImage type own the memory
Summary: The OffloadingBinary uses a convenience struct to help manage the memory that will be serialized using the binary format. This currently uses a reference to an existing buffer, but this should own the memory instead so it is easier to work with seeing as its only current use requires saving the buffer anyway.
show more ...
|
| #
9db2f323 |
| 04-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Align the image offset in OffloadBinary
Summary: The OffloadBinary wraps around an embedded device image, commonly an ELF or LLVM BC file. These file formats have alignment requirements for
[Binary] Align the image offset in OffloadBinary
Summary: The OffloadBinary wraps around an embedded device image, commonly an ELF or LLVM BC file. These file formats have alignment requirements for parsing, so if the image is stored at an un-aligned offset from the beginning of the file we will be unable to parse the embeded image without copying the image buffer. This patch adds alignment padding before the binary image is appended to ensure we can parse the symbolic file it contains in-place without copying memory.
show more ...
|
| #
2108f7a2 |
| 02-Jun-2022 |
Fangrui Song <[email protected]> |
[Object] Fix namespace style issues in D122069
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions
|
| #
afd2f7e9 |
| 01-Jun-2022 |
Joseph Huber <[email protected]> |
[Binary] Promote OffloadBinary to inherit from Binary
We use the `OffloadBinary` to create binary images of offloading files and their corresonding metadata. This patch changes this to inherit from
[Binary] Promote OffloadBinary to inherit from Binary
We use the `OffloadBinary` to create binary images of offloading files and their corresonding metadata. This patch changes this to inherit from the base `Binary` class. This allows us to create and insepect these more generically. This patch includes all the necessary glue to implement this as a new binary format, along with added the magic bytes we use to distinguish the offloading binary to the `file_magic` implementation.
Reviewed By: tra
Differential Revision: https://reviews.llvm.org/D126812
show more ...
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
e471ba3d |
| 25-Mar-2022 |
Joseph Huber <[email protected]> |
[Object] Add binary format for bundling offloading metadata
We need to embed certain metadata along with a binary image when we wish to perform a device-linking job on it. Currently this metadata wa
[Object] Add binary format for bundling offloading metadata
We need to embed certain metadata along with a binary image when we wish to perform a device-linking job on it. Currently this metadata was embedded in the section name of the data itself. This worked, but made adding new metadata very difficult and didn't work if the user did any sort of section linking.
This patch introduces a custom binary format for bundling offloading metadata with a device object file. This binary format is fundamentally a simple string map table with some additional data and an embedded image. I decided to use a custom format rather than using an existing format (ELF, JSON, etc) because of the specialty use-case of this. We need a simple binary format that can be concatenated without requiring other external dependencies.
This extension will make it easier to extend the linker wrapper's capabilties with whatever data is necessary. Eventually this will allow us to remove all the external arguments passed to the linker wrapper and embed it directly in the host's linker so device linking behaves exactly like host linking.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D122069
show more ...
|