[OpenMP] Detect SPMD compatible kernels and execute them as such
In the spirit of TRegions , 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.
Differential Revision: https://reviews.llvm.org/D102307