From 717e402dbf55e7da83d4fc87641ab9e60d4846cb Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 5 Oct 2020 14:26:04 +0200 Subject: [PATCH] [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 * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_XCHG_*. --- gcc/tracer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/tracer.c b/gcc/tracer.c index 5ee66511f8d..7f32ccb7e21 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; } -- 2.30.2