[all-commits] [llvm/llvm-project] e82e07: [Libomptarget] Build the DeviceRTL BC using clang ...
Joseph Huber via All-commits
all-commits at lists.llvm.org
Fri Jul 22 05:24:56 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e82e07d74a7d9f262aa85fa4aebf99b5a62f386c
https://github.com/llvm/llvm-project/commit/e82e07d74a7d9f262aa85fa4aebf99b5a62f386c
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2022-07-22 (Fri, 22 Jul 2022)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Build the DeviceRTL BC using clang directly
Currently the bitcode library is build using the clang front-end
manually. This was originally done because we did not support device
only compilation. Now we support device only compilation, at least for a
single offloading toolchain, so we can instead use clang directly rather
than using the front-end. This saves us needing to define things like
`aux_triple`.
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D130293
Commit: 3d0ab8638ba4c29563a6bcc2379abbdbce34fd47
https://github.com/llvm/llvm-project/commit/3d0ab8638ba4c29563a6bcc2379abbdbce34fd47
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2022-07-22 (Fri, 22 Jul 2022)
Changed paths:
M llvm/lib/Transforms/IPO/Internalize.cpp
A llvm/test/Transforms/Internalize/globs.ll
Log Message:
-----------
[Internalize] Support glob patterns for API lists
The internalize pass supports an option to provide a list of symbols
that should not be internalized. THis is useful retaining certain
defintions that should be kept alive. However, this interface is
somewhat difficult to use as it requires knowing every single symbol's
name and specifying it. Many APIs provide common prefixes for the
symbols exported by the library, so it would make sense to be able to
match these using a simple glob pattern. This patch changes the handling
from a simple string comparison to a glob pattern match.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D130319
Commit: 908054df4f15d44a5e1e72d95aa2bcf92ddb6e1a
https://github.com/llvm/llvm-project/commit/908054df4f15d44a5e1e72d95aa2bcf92ddb6e1a
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2022-07-22 (Fri, 22 Jul 2022)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
A openmp/libomptarget/DeviceRTL/src/exports
Log Message:
-----------
[Libomptarget] Only export needed definitions in the BC library
This patch adds the use of the `-internalize-public-api-file` option in
the internalization pass to internalize any definition that isn't
explicitly needed for the interface. This will allow us to perform more
optimizations on the file that normally would not have been possible
with functions internal to the library not being internal.
Depends on D130293
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D130298
Compare: https://github.com/llvm/llvm-project/compare/5102084787a1...908054df4f15
More information about the All-commits
mailing list