aboutsummaryrefslogtreecommitdiff
path: root/gcc/tracer.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-10-05 14:26:04 +0200
committerTom de Vries <tdevries@suse.de>2020-10-05 16:03:17 +0200
commit717e402dbf55e7da83d4fc87641ab9e60d4846cb (patch)
tree6ab3a5276d06b3d448274073fa5167baa23572d4 /gcc/tracer.c
parent255aa06d40d7b151d1b26cb690e0545f834b3bea (diff)
downloadgcc-717e402dbf55e7da83d4fc87641ab9e60d4846cb.zip
gcc-717e402dbf55e7da83d4fc87641ab9e60d4846cb.tar.gz
gcc-717e402dbf55e7da83d4fc87641ab9e60d4846cb.tar.bz2
[omp, ftracer] Ignore IFN_GOMP_SIMT_XCHG_* in ignore_bb_p
As IFN_GOMP_SIMT_XCHG_* are part of the group marked by IFN_GOMP_SIMT_ENTER_ALLOC/IFN_GOMP_SIMT_EXIT, handle them conservatively in ignore_bb_p. Build on x86_64-linux with nvptx accelerator, tested with libgomp. gcc/ChangeLog: 2020-10-05 Tom de Vries <tdevries@suse.de> * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_XCHG_*.
Diffstat (limited to 'gcc/tracer.c')
-rw-r--r--gcc/tracer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/tracer.c b/gcc/tracer.c
index 5ee6651..7f32ccb 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -115,12 +115,14 @@ ignore_bb_p (const_basic_block bb)
/* 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 is part of such a group, so the same holds
- there. */
+ The IFN_GOMP_SIMT_VOTE_ANY and IFN_GOMP_SIMT_XCHG_* are part of such a
+ group, 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)
- || gimple_call_internal_p (g, IFN_GOMP_SIMT_VOTE_ANY)))
+ || gimple_call_internal_p (g, IFN_GOMP_SIMT_VOTE_ANY)
+ || gimple_call_internal_p (g, IFN_GOMP_SIMT_XCHG_BFLY)
+ || gimple_call_internal_p (g, IFN_GOMP_SIMT_XCHG_IDX)))
return true;
}