39 lines
1.3 KiB
ReStructuredText
39 lines
1.3 KiB
ReStructuredText
.. _omp180:
|
|
|
|
Replacing OpenMP runtime call <call> with <value>.
|
|
====================================================================
|
|
|
|
This optimization remark indicates that analysis determined an OpenMP runtime
|
|
calls can be replaced with a constant value. This can occur when an OpenMP
|
|
runtime call that queried some internal state was found to always return a
|
|
single value after analysis.
|
|
|
|
Example
|
|
-------
|
|
|
|
This optimization will trigger for most target regions to simplify the runtime
|
|
once certain constants are known. This will trigger for internal runtime
|
|
functions so it requires enabling verbose remarks with
|
|
`-openmp-opt-verbose-remarks` (prefixed with `-mllvm` for use with clang).
|
|
|
|
.. code-block:: c++
|
|
|
|
void foo() {
|
|
#pragma omp target parallel
|
|
{ }
|
|
}
|
|
|
|
.. code-block:: console
|
|
|
|
$ clang test.c -fopenmp -fopenmp-targets=nvptx64 -O1 -Rpass=openmp-opt \
|
|
-mllvm -openmp-opt-verbose-remarks
|
|
remark: Replacing runtime call __kmpc_is_spmd_exec_mode with 1. [OMP180] [-Rpass=openmp-opt]
|
|
remark: Replacing runtime call __kmpc_is_spmd_exec_mode with 1. [OMP180] [-Rpass=openmp-opt]
|
|
remark: Replacing runtime call __kmpc_parallel_level with 1. [OMP180] [-Rpass=openmp-opt]
|
|
remark: Replacing runtime call __kmpc_parallel_level with 1. [OMP180] [-Rpass=openmp-opt]
|
|
|
|
Diagnostic Scope
|
|
----------------
|
|
|
|
OpenMP optimization remark.
|