A Basic Look At How The LLVM Compiler Works
The LLVM compiler infrastructure is frequently talked about on Phoronix whether it be about its Clang C/C++ compiler or one of the innovative use-cases for LLVM such as with the LLVMpipe Gallium3D driver or as a JIT engine within some free software projects like Mono. However, for those that don't understand much of the internals of LLVM, here's a brief overview.
The LLVM project has posted a new blog entry about the life of an instruction in LLVM.
This blog post basically goes over the process of LLVM's multiple compilation stages in how C source-code is ultimately parsed and then transformed and lowered into binary machine code.
This isn't too technical of a posting but rather just a nice overview of the LLVM process. Covered processes include starting out with Clang and generated LLVM IR, SelectionDAG instruction selection, scheduling and emitting a machine instruction, register allocatio, emitting code, the MC layer, and then the assemblers/disassemblers.
Add A Comment