Glow uses LLVM in two ways: 1) Across the whole compiler as a support library e.g. for many of its efficient data structures, CL options, serialization, etc. 2) Separately, backends may use LLVM for low-level codegen for specific architectures once they go below Glow Instruction IR. E.g. the Glow CPU backend uses this, and other private backends may as well (maintained privately by OSS users so you don’t see them on Github).