https://hgpu.org/?p=16689
HPVM: A Portable Virtual Instruction Set for Heterogeneous Parallel Systems