1 day workshop - 17 Oct
Understanding Clang and LLVM Optimization Pipeline
Although both C, and C++ can be considered as slim and efficient abstractions over the assembly language, direct translation from these languages to the machine code generally underperforms. Optimizing compilers analyze the source code, and make transformations based on analysis results. These transformations replace certain suboptimal patterns with optimized equivalents, and finally generate efficient machine code that has better benefit-cost ratio than that of direct translation. Modern compilers are state of the art computer programs that exhibit the developments in computer science history. We will be walking through Clang and LLVM compilation pipeline, from parsing the source code to emitting optimized machine code. We will build both source code and IR level tools during this one-day workshop.