[OpenMP] Remove noinline attributes in the device runtime
authorJoseph Huber <jhuber6@vols.utk.edu>
Mon, 25 Jul 2022 19:27:41 +0000 (15:27 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Mon, 25 Jul 2022 19:44:50 +0000 (15:44 -0400)
commitd61d72dae604c3258e25c00622b1a85861450303
tree8485e695b661be3e1bcc2de73f510bcba44801c5
parentbfb9b8e075ee32197157ccaf0c301122ca9b81af
[OpenMP] Remove noinline attributes in the device runtime

We previously used the `noinline` attributes to specify some defintions
which should be kept alive in the runtime. These were then stripped
immediately in the OpenMPOpt module pass. However, Since the changes in
D130298, we not explicitly state which functions will have external
visiblity in the bitcode library. Additionally the OpenMPOpt module pass
should run before the inliner pass, so this shouldn't make a difference
in whether or not the functions will be alive for the initial pass of
OpenMPOpt. This should simplify the interface, and additionally save
time spend on scanning funciton names for noinline.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D130368
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
llvm/test/Transforms/OpenMP/remove_noinline_attributes.ll [deleted file]
openmp/libomptarget/DeviceRTL/include/Synchronization.h
openmp/libomptarget/DeviceRTL/src/Mapping.cpp
openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
openmp/libomptarget/DeviceRTL/src/State.cpp
openmp/libomptarget/DeviceRTL/src/Synchronization.cpp