diff options
Diffstat (limited to 'openmp/libomptarget/DeviceRTL/include/Synchronization.h')
-rw-r--r-- | openmp/libomptarget/DeviceRTL/include/Synchronization.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/openmp/libomptarget/DeviceRTL/include/Synchronization.h b/openmp/libomptarget/DeviceRTL/include/Synchronization.h index 4b8898f2ffb7..e33f37a659af 100644 --- a/openmp/libomptarget/DeviceRTL/include/Synchronization.h +++ b/openmp/libomptarget/DeviceRTL/include/Synchronization.h @@ -29,13 +29,15 @@ void threads(); /// Synchronizing threads is allowed even if they all hit different instances of /// `synchronize::threads()`. However, `synchronize::threadsAligned()` is more -/// restrictive in that it requires all threads to hit the same instance. +/// restrictive in that it requires all threads to hit the same instance. The +/// noinline is removed by the openmp-opt pass and helps to preserve the +/// information till then. ///{ #pragma omp begin assumes ext_aligned_barrier /// Synchronize all threads in a block, they are are reaching the same /// instruction (hence all threads in the block are "aligned"). -void threadsAligned(); +__attribute__((noinline)) void threadsAligned(); #pragma omp end assumes ///} |