This feature allows using non-portable types as kernel parameters. This allows bypassing the portability guarantees from the restrictions specified
in C++ for OpenCL v1.0 s2.4.
Currently this only disables the restrictions related to layout, as a programmer using the same compiler for host and device should get the same representation.
This could be extended to other things (like size_t) if desired in the future, but I think it's unlikely that someone would want that.
Previous discussion about the extension in https://bugs.llvm.org/show_bug.cgi?id=50081