llvm-project/llvm/test/Transforms/OpenMP
Johannes Doerfert 514c033db1 [OpenMP] Detect SPMD compatible kernels and execute them as such
In the spirit of TRegions [0], this patch analyzes a kernel and tracks
if it can be executed in SPMD-mode. If so, we flip the arguments of
the __kmpc_target_init and deinit call to enable the mode. We also
update the `<kernel>_exec_mode` flag to indicate to the runtime we
changed the mode to SPMD.

The code analysis is done interprocedurally by extending the
AAKernelInfo abstract attribute to track SPMD compatibility as well.

[0] https://link.springer.com/chapter/10.1007/978-3-030-28596-8_11

Differential Revision: https://reviews.llvm.org/D102307
2021-07-10 18:44:25 -05:00
..
add_attributes.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
add_attributes_amdgcn.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
attributor_module_slice_reproducer.ll [OpenMP] Add OpenMPOpt as a Module pass 2021-04-20 12:28:58 -04:00
custom_state_machines.ll [OpenMP] Detect SPMD compatible kernels and execute them as such 2021-07-10 18:44:25 -05:00
custom_state_machines_remarks.ll [OpenMP] Detect SPMD compatible kernels and execute them as such 2021-07-10 18:44:25 -05:00
dead_use.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
deduplication.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
deduplication_remarks.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
globalization_remarks.ll [OpenMP] Create custom state machines for generic target regions 2021-07-10 17:57:08 -05:00
gpu_kernel_detection_remarks.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
gpu_state_machine_function_ptr_replacement.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
hide_mem_transfer_latency.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
icv_remarks.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
icv_tracking.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
parallel_deletion.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
parallel_deletion_cg_update.ll Revert "[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction" 2021-04-06 16:33:28 +02:00
parallel_deletion_remarks.ll [OpaquePtr] Support forward references in textual IR 2021-06-29 20:10:31 +02:00
parallel_region_merging.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
remove_globalization.ll [OpenMP] Create custom state machines for generic target regions 2021-07-10 17:57:08 -05:00
replace_globalization.ll [OpenMP] Create custom state machines for generic target regions 2021-07-10 17:57:08 -05:00
rtf_type_checking.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00
single_threaded_execution.ll [OpenMP] Create custom state machines for generic target regions 2021-07-10 17:57:08 -05:00
spmdization.ll [OpenMP] Detect SPMD compatible kernels and execute them as such 2021-07-10 18:44:25 -05:00
spmdization_remarks.ll [OpenMP] Detect SPMD compatible kernels and execute them as such 2021-07-10 18:44:25 -05:00
values_in_offload_arrays.ll [OpenMP] Change OpenMPOpt to check openmp metadata 2021-06-25 16:34:22 -04:00