[all-commits] [llvm/llvm-project] 168401: [Libomptarget] Introduce new main thread ID runtim...
Joseph Huber via All-commits
all-commits at lists.llvm.org
Wed Jul 21 18:18:44 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1684012a47f76e210612bdd44a9d57147a90c4a6
https://github.com/llvm/llvm-project/commit/1684012a47f76e210612bdd44a9d57147a90c4a6
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M openmp/libomptarget/deviceRTLs/common/src/omptarget.cu
M openmp/libomptarget/deviceRTLs/interface.h
Log Message:
-----------
[Libomptarget] Introduce new main thread ID runtime function
This patch introduces `__kmpc_is_generic_main_thread_id` which splits the old
comparison into its own runtime function. The purpose of this is so we can fold
this part independently, so when both this and `is_spmd_mode` are folded the
final function will be folded as well.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106437
Commit: 4a6686042472a6a3f9d6ca7a0d1bb7f46cbbc415
https://github.com/llvm/llvm-project/commit/4a6686042472a6a3f9d6ca7a0d1bb7f46cbbc415
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
M openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
Log Message:
-----------
[OpenMP] Add an option to disable function internalization
Function internalization can sometimes occur in situations where we want to
keep the call sites intact. This patch adds an option to disable function
internalization and prevents the device runtime from being internalized while
creating the bitcode library.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106438
Commit: 196fe994b8cccd986f4a63530d494cdd04cd04db
https://github.com/llvm/llvm-project/commit/196fe994b8cccd986f4a63530d494cdd04cd04db
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/Transforms/OpenMP/fold_generic_main_thread.ll
Log Message:
-----------
[OpenMP] Fold `__kmpc_is_generic_main_thread_id` if possible
This patch adds the ability to fold `__kmpc_is_generic_main_thread_id` if we
know for a fact that it is executed by the initial thread using
AAExecutionDomain. This combined with folding `__kmpc_is_spmd_exec_mode` will
allow us to fully fold `__kmpc_is_generic_main_thread`.
Depends on D106438 D106437
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106439
Commit: 16206d17cd9e6b473673204c458e5f20bcc59fb1
https://github.com/llvm/llvm-project/commit/16206d17cd9e6b473673204c458e5f20bcc59fb1
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/add_attributes.ll
Log Message:
-----------
[OpenMP] Strip NoInline from known OpenMP runtime functions
This patch strips the NoInline attribute from known OpenMP runtime functions.
This is done so that we can denote certain runtime functions as NoInline to
ensure their call sites are intact so they can be checked by OpenMPOpt. We
don't wan't this noinline attribute to remain for any functions after OpenMPOpt
has been run however.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106482
Compare: https://github.com/llvm/llvm-project/compare/7d576392644d...16206d17cd9e
More information about the All-commits
mailing list