Portable Computing Language (pocl) is an implementation of the OpenCL standard which can be adapted for new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.
pocl uses Clang as an OpenCL C frontend and LLVM for the kernel compiler implementation, and as a portability layer. If your desired target has an LLVM backend, it should be possible to get OpenCL support by using pocl.
pocl yields improved performance portability by using a kernel compiler that can generate multi-work-item work-group functions that exploit various types of parallel hardware resources, such as VLIW, superscalar, SIMD, SIMT, multicore and multithread.