The book is for compiler programmers who are familiar with concepts of compilers and want to indulge in understanding, exploring, and using LLVM infrastructure in a meaningful way in their work. This book is also for programmers who are not directly involved in compiler projects but are often involved in development phases where they write thousands of lines of code. With knowledge of how compilers work, they will be able to code in an optimal way and improve performance with clean code.
讀者評論 - 撰寫評論
Steps in Writing a Frontend
Extending the Frontend and Adding JIT Support
TargetIndependent Code Generator
alias analysis align alloca i32 analysis pass architecture backend BaseAST basic blocks binary operator bitcode file bool call void Clang cmake Codegen compiler const convert core dumped Create Current_token dead code elimination debug DebugLoc DL define i32 donothing entry EVT VT example exception handling execution following command following steps frontend func Function Attrs function call Getting ready icmp Identifier_string implementation input instruction selection label legalization lexer live intervals lldb LLVM LLVM bitcode load i32 loop machine code machine instructions MachineFunction MachineInstr ModuleID movl next_token nounwind opcode operands opt tool optimization passes output parser parsing recipe register allocation ret i32 return false SDNode SDValue SelectionDAG source code specified static std::string store i32 tablegen tail call target td file test code test.c test.ll token TOY language toy.cpp file unsigned variable vector virtual registers write