The rationale for this is that OpenCL provides programmatic access to these symbols, but not to e.g. non-kernel functions. These symbols should have default visibility even when e.g. -fvisibility hidden is present.
This is an alternative approach to achieving the same goals as https://reviews.llvm.org/D52891
isa