aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/MathExtrasTest.cpp
diff options
context:
space:
mode:
authorJoseph Huber <jhuber6@vols.utk.edu>2023-01-26 11:23:21 -0600
committerJoseph Huber <jhuber6@vols.utk.edu>2023-01-26 13:23:45 -0600
commit6185246f4f62345d0cfdaef62da7e15b01d52557 (patch)
tree8860da38d5aa581feef0db5ea140f6a6ec9e9165 /llvm/unittests/Support/MathExtrasTest.cpp
parent0bdde9dfb9b1dbfabee147c196db820e1f5dca1f (diff)
downloadllvm-6185246f4f62345d0cfdaef62da7e15b01d52557.zip
llvm-6185246f4f62345d0cfdaef62da7e15b01d52557.tar.gz
llvm-6185246f4f62345d0cfdaef62da7e15b01d52557.tar.bz2
[OpenMP] Run an extra 'OpenMPOpt' pass in LTO-mode
The `OpenMPOpt` pass is pivotal to the performance of many OpenMP offloading programs. When we perform non-LTO builds with OpenMP we used to link the OpenMP deviceRTL individually for each TU. This lead to us getting an additional attributor run on the combined runtime and user code. When we used LTO we lost a run and suffered a large performance degradation. This patch simply adds in the extra `OpenMPOpt` pass that we miss into the LTO pipeline. This patch fixes the performance regression shown in applications that used OpenMP offloading in LTO mode. Previously, this wasn't legal to do as we could emit new runtime calls into the module. That was fixed by D142646. Depends on D142646 Fixes https://github.com/llvm/llvm-project/issues/60300 Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D142650
Diffstat (limited to 'llvm/unittests/Support/MathExtrasTest.cpp')
0 files changed, 0 insertions, 0 deletions