llvm-project/openmp/libomptarget/test/jit/empty_kernel_lvl2.c
Johannes Doerfert cb17c48fdd [Attributor] Identify and remove no-op fences
The logic and implementation follows the removal of no-op barriers. If
the fence is not making updates visible, either to the world or the
current thread, it is not needed. Said differently, the fences we remove
do not establish synchronization (happens-before) edges.
This allows us to eliminate some of the regression caused by:
  https://reviews.llvm.org/D145290
2023-06-05 17:14:00 -07:00

95 lines
4.9 KiB
C

// clang-format off
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target" \
// RUN: -DLOOP_DIRECTIVE="for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// RUN: %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefix=FIRST
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target" \
// RUN: -DTGT2_DIRECTIVE="target" \
// RUN: -DLOOP_DIRECTIVE="for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// RUN: %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefixes=FIRST,SECOND
//
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target" \
// RUN: -DLOOP_DIRECTIVE="parallel for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefix=FIRST
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target" \
// RUN: -DTGT2_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="parallel for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefixes=FIRST,SECOND
//
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefix=FIRST
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DTGT2_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefixes=FIRST,SECOND
//
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute parallel for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefix=FIRST
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DTGT2_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute parallel for"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefixes=FIRST,SECOND
//
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute parallel for simd"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefix=FIRST
// RUN: %libomptarget-compileoptxx-generic -fopenmp-target-jit \
// RUN: -DTGT1_DIRECTIVE="target teams" \
// RUN: -DTGT2_DIRECTIVE="target teams" \
// RUN: -DLOOP_DIRECTIVE="distribute parallel for simd"
// RUN: env LIBOMPTARGET_JIT_PRE_OPT_IR_MODULE=%t.pre.ll \
// RUN: LIBOMPTARGET_JIT_SKIP_OPT=true \
// RUN: %libomptarget-run-generic
// TODO:
// RUN: not %fcheck-plain-generic --input-file %t.pre.ll %S/empty_kernel.inc --check-prefixes=FIRST,SECOND
// clang-format on
// UNSUPPORTED: x86_64-pc-linux-gnu
// UNSUPPORTED: x86_64-pc-linux-gnu-LTO
#include "empty_kernel.inc"