diff --git a/openmp/docs/remarks/OMP100.rst b/openmp/docs/remarks/OMP100.rst --- a/openmp/docs/remarks/OMP100.rst +++ b/openmp/docs/remarks/OMP100.rst @@ -1,9 +1,9 @@ -Potentially unknown OpenMP target region caller `[OMP100]` -========================================================== - .. _omp100: .. _omp_no_external_caller_in_target_region: +Potentially unknown OpenMP target region caller `[OMP100]` +========================================================== + A function remark that indicates the function, when compiled for a GPU, is potentially called from outside the translation unit. Note that a remark is only issued if we tried to perform an optimization which would require us to diff --git a/openmp/docs/remarks/OMP101.rst b/openmp/docs/remarks/OMP101.rst --- a/openmp/docs/remarks/OMP101.rst +++ b/openmp/docs/remarks/OMP101.rst @@ -1,6 +1,6 @@ +.. _omp101: + Parallel region is used in unknown / unexpected ways. Will not attempt to rewrite the state machine. [OMP101] ============================================================================================================= -.. _omp101: - An analysis remark that indicates that a parallel region has unknown calls. diff --git a/openmp/docs/remarks/OMP102.rst b/openmp/docs/remarks/OMP102.rst --- a/openmp/docs/remarks/OMP102.rst +++ b/openmp/docs/remarks/OMP102.rst @@ -1,8 +1,8 @@ +.. _omp102: + Parallel region is not called from a unique kernel. Will not attempt to rewrite the state machine. [OMP102] =========================================================================================================== -.. _omp102: - This analysis remark indicates that a given parallel region is called by multiple kernels. This prevents the compiler from optimizing it to a single kernel and rewrite the state machine. diff --git a/openmp/docs/remarks/OMP110.rst b/openmp/docs/remarks/OMP110.rst --- a/openmp/docs/remarks/OMP110.rst +++ b/openmp/docs/remarks/OMP110.rst @@ -1,8 +1,8 @@ +.. _omp110: + Moving globalized variable to the stack. [OMP110] ================================================= -.. _omp110: - This optimization remark indicates that a globalized variable was moved back to thread-local stack memory on the device. This occurs when the optimization pass can determine that a globalized variable is not possibly be shared between diff --git a/openmp/docs/remarks/OMP111.rst b/openmp/docs/remarks/OMP111.rst --- a/openmp/docs/remarks/OMP111.rst +++ b/openmp/docs/remarks/OMP111.rst @@ -1,8 +1,8 @@ +.. _omp111: + Replaced globalized variable with X bytes of shared memory. [OMP111] ==================================================================== -.. _omp111: - This optimization occurs when a globalized variable's data is shared between multiple threads, but requires a static amount of memory that can be determined at compile time. This is the case when only a single thread creates the memory diff --git a/openmp/docs/remarks/OMP112.rst b/openmp/docs/remarks/OMP112.rst --- a/openmp/docs/remarks/OMP112.rst +++ b/openmp/docs/remarks/OMP112.rst @@ -1,8 +1,8 @@ +.. _omp112: + Found thread data sharing on the GPU. Expect degraded performance due to data globalization. [OMP112] ===================================================================================================== -.. _omp112: - This missed remark indicates that a globalized value was found on the target device that was not either replaced with stack memory by :ref:`OMP110 ` or shared memory by :ref:`OMP111 `. Globalization that has not been diff --git a/openmp/docs/remarks/OMP113.rst b/openmp/docs/remarks/OMP113.rst --- a/openmp/docs/remarks/OMP113.rst +++ b/openmp/docs/remarks/OMP113.rst @@ -1,8 +1,8 @@ +.. _omp113: + Could not move globalized variable to the stack. Variable is potentially captured in call. Mark parameter as `__attribute__((noescape))` to override. [OMP113] ============================================================================================================================================================== -.. _omp113: - This missed remark indicates that a globalized value could not be moved to the stack because it is potentially captured by a call to a function we cannot analyze. In order for a globalized variable to be moved to the stack, copies to diff --git a/openmp/docs/remarks/OMP120.rst b/openmp/docs/remarks/OMP120.rst --- a/openmp/docs/remarks/OMP120.rst +++ b/openmp/docs/remarks/OMP120.rst @@ -1,8 +1,8 @@ +.. _omp120: + Transformed generic-mode kernel to SPMD-mode [OMP120] ===================================================== -.. _omp120: - This optimization remark indicates that the execution strategy for the OpenMP target offloading kernel was changed. Generic-mode kernels execute by using a single thread to schedule parallel worker threads using a state machine. This diff --git a/openmp/docs/remarks/OMP121.rst b/openmp/docs/remarks/OMP121.rst --- a/openmp/docs/remarks/OMP121.rst +++ b/openmp/docs/remarks/OMP121.rst @@ -1,8 +1,8 @@ +.. _omp121: + Value has potential side effects preventing SPMD-mode execution. Add `__attribute__((assume(\"ompx_spmd_amenable\")))` to the called function to override. [OMP121] =================================================================================================================================================================== -.. _omp121: - This analysis remarks indicates that a potential side-effect that cannot be guarded prevents the target region from executing in SPMD-mode. SPMD-mode requires that each thread is active inside the region. Any instruction that diff --git a/openmp/docs/remarks/OMP130.rst b/openmp/docs/remarks/OMP130.rst --- a/openmp/docs/remarks/OMP130.rst +++ b/openmp/docs/remarks/OMP130.rst @@ -1,8 +1,8 @@ +.. _omp130: + Removing unused state machine from generic-mode kernel. [OMP130] ================================================================ -.. _omp130: - This optimization remark indicates that an unused state machine was removed from a target region. This occurs when there are no parallel regions inside of a target construct. Normally, a state machine is required to schedule the threads diff --git a/openmp/docs/remarks/OMP140.rst b/openmp/docs/remarks/OMP140.rst --- a/openmp/docs/remarks/OMP140.rst +++ b/openmp/docs/remarks/OMP140.rst @@ -1,8 +1,8 @@ +.. _omp140: + Could not internalize function. Some optimizations may not be possible. [OMP140] ==================================================================================================================== -.. _omp140: - This analysis remark indicates that function internalization failed for the given function. Internalization occurs when a call to a function that ordinarily has external visibility is replaced with a call to a copy of that function with diff --git a/openmp/docs/remarks/OMP150.rst b/openmp/docs/remarks/OMP150.rst --- a/openmp/docs/remarks/OMP150.rst +++ b/openmp/docs/remarks/OMP150.rst @@ -1,8 +1,8 @@ +.. _omp150: + Parallel region merged with parallel region at . [OMP150] =================================================================== -.. _omp150: - This optimization remark indicates that a parallel region was merged with others into a single parallel region. Parallel region merging fuses consecutive parallel regions to reduce the team activation overhead of forking and increases diff --git a/openmp/docs/remarks/OMP160.rst b/openmp/docs/remarks/OMP160.rst --- a/openmp/docs/remarks/OMP160.rst +++ b/openmp/docs/remarks/OMP160.rst @@ -1,8 +1,8 @@ +.. _omp160: + Removing parallel region with no side-effects. [OMP160] ======================================================= -.. _omp160: - This optimization remark indicates that a parallel region was deleted because it was not found to have any side-effects. This can occur if the region does not write any of its results to memory visible outside the region. This optimization diff --git a/openmp/docs/remarks/OMP170.rst b/openmp/docs/remarks/OMP170.rst --- a/openmp/docs/remarks/OMP170.rst +++ b/openmp/docs/remarks/OMP170.rst @@ -1,8 +1,8 @@ +.. _omp170: + OpenMP runtime call deduplicated. [OMP170] ==================================================================== -.. _omp170: - This optimization remark indicates that a call to an OpenMP runtime call was replaced with the result of an existing one. This occurs when the compiler knows that the result of a runtime call is immutable. Removing duplicate calls is done