Skip to content

LLVM terminology

I thought the proper terminology was worth pointing out, since I’ve seen — and heard — some misuses lately.

  • LLVM is the Low-Level Virtual Machine and the project surrounding it.

  • LLVM-GCC is a compiler that uses GCC for its front-end and LLVM for its back-end.

  • Clang is the C language family front-end that is part of the LLVM project. It’s a parser, semantic analyzer, and code generator — in other words, a compiler front-end that uses LLVM for its back-end.

  • The Clang Static Analyzer is what people have been trying out lately, to find subtle bugs in their and other projects. It’s a great tool.

I just thought this was important to mention, because people have been referring to “LLVM” instead of “LLVM-GCC” in reference to the compiler included in Xcode 3.1, and people have been referring to “Clang” instead of “the Clang Static Analyzer” in reference to what they’ve been using to find bugs in their projects.

Post a Comment

Your email is never published nor shared. Required fields are marked *