LLVM (Low Level Virtual Machine) is a set of compiler tools. We use LLVM to create a front-end to the LLVM IR for any given programming language, and a back-end for any given instruction set architecture. The LLVM IR is language/architecture agnostic, and serves primarily as a way to optimise a common IR for all front/back-ends.
Prof Anderson says GCC and G++ are out of fashion in academia — HLS tools like LegUp are written in LLVM.