[omp, ftracer] Improve comment in ignore_bb_p
Improve comment in ignore_bb_p related to the group marked by
IFN_GOMP_SIMT_ENTER_ALLOC/IFN_GOMP_SIMT_EXIT.
gcc/ChangeLog:
2020-10-05 Tom de Vries <tdevries@suse.de>
* tracer.c (ignore_bb_p): Improve comment.
---
gcc/tracer.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
@@ -112,11 +112,15 @@ ignore_bb_p (const_basic_block bb)
!gsi_end_p (gsi); gsi_next (&gsi))
{
gimple *g = gsi_stmt (gsi);
-
- /* An IFN_GOMP_SIMT_ENTER_ALLOC/IFN_GOMP_SIMT_EXIT call must be
- duplicated as part of its group, or not at all.
- The IFN_GOMP_SIMT_VOTE_ANY and IFN_GOMP_SIMT_XCHG_* are part of such a
- group, so the same holds there. */
+ /* An IFN_GOMP_SIMT_ENTER_ALLOC/IFN_GOMP_SIMT_EXIT pair marks a SESE
+ region. When entering the region, per-lane storage is allocated,
+ and non-uniform execution is started. When exiting the region,
+ non-uniform execution is stopped and per-lane storage is deallocated.
+ These calls can be duplicated safely, if the entire region is
+ duplicated, otherwise not. So, since we're not asked about such a
+ region here, conservatively return false.
+ The IFN_GOMP_SIMT_VOTE_ANY and SIMT_XCHG_* are part of such
+ a region, so the same holds there. */
if (is_gimple_call (g)
&& (gimple_call_internal_p (g, IFN_GOMP_SIMT_ENTER_ALLOC)
|| gimple_call_internal_p (g, IFN_GOMP_SIMT_EXIT)