Currently we require the -fopenmp-targets= option to specify the
triple to use for the offloading toolchains, and the -Xopenmp-target=
option to specify architectures to a specific toolchain. The changes
made in D124721 allowed us to use --offload-arch= to specify multiple
target architectures. However, this can become combersome with many
different architectures. This patch introduces functinality that
attempts to deduce the target triple and architectures from the
offloading action. Currently we will deduce known GPU architectures when
only -fopenmp is specified.
This required a bit of a hack to cache the deduced architectures,
without this we would've just thrown an error when we tried to look up
the architecture again when generating the job. Normally we require the
user to manually specify the toolchain arguments, but here they would
confict unless we overrode them.
Depends on: D124721
So, specifying just -fopenmp will result in IsOpenMP=false? This seems odd.
Perhaps the variable should be called IsOpenMPOffload ?