The OpenMP RTL uses a stack of shared-memory to handle data-sharing
that's necessary for communicating data between threads on the device.
This patch add an option in clang to set this at compile time by using a
global varialbe in the new device runtime.
The shared memory used is set by -fopenmp-target-stack-size=. This
will configure a global <kernel>_stack_size used by the libomptarget
plugin to set the amount of dynamic shared memory allocated. The size
will also be added to the __kmpc_target_init runtime call so the
device runtime can check the size and if the stack must be initialized.
Do we want to check somewhere if it's a valid value?