| .. _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`. |
| |
| .. 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. |