This patch introduces an alternative OpenMP GPU kernel offloading
interface called target kernel region (or TRegion).
The commit includes the runtime library implementation for the NVPTX
device plugin, implemented mostly in terms of the existing
The interface is deliberately simple to be easily analyzable in the
middle end. Design decisions included:
- Hide all (complex) implementation choices in the runtime library but allow complete removal of the abstraction once the runtime is inlined.
- Provide all runtime calls with sufficient, easy encoded information.