OpenMP (compiler) does not currently request any implicit kernel
arguments. OpenMP (runtime) allocates and initialises a reasonable guess at
the implicit kernel arguments anyway.
This change makes the plugin check the number of explicit arguments, instead
of all arguments, and adds handling to initialise a hostcall buffer at the
location requested by the back end (if said buffer is requested).
This is intended to keep things running while fixing the oversight in the
compiler (in D113538). Once that patch lands, this can be simplified to stop
allocating the extra implicit argument space, and only write the hostcall
pointer into the buffer once instead of twice.
Limited testing on this side, this represents a reasonable guess at what will
unblock the CI for D113538. In particular, it is a guess that the right kind is
HiddenHostcallBuffer and not HiddenPrintfBuffer, I don't know which is emitted
by the rocm toolchain.