For an explanation of these patches see D154153.
Commit message:
This patch adds the default offloading handler for GPU binary ops: #gpu.select_object,
it selects the object to embed based on an index or a target attribute, embedding
the object as a global string and launches the kernel using the scheme used in the
GPU to LLVM pass.
Depends on D154137
It's not clear to me when it makes sense to have multiple gpu.object when there is a select?