| Speaker Name | Abhijat Vichare |
|
| Organization | Indian Institute of Technology, Bombay | |
| Type | Talk | |
| Scope | Technical | |
| Slides | Click to download | |
GCC Internals: A Conceptual View into GCC |
||
| Abstract | GCC is the most critical tool of the free software community, the most used, and perhaps the least understood. The internals of GCC still remain the domain of the few who have diligently worked through the source code. An idea of the internals that is at a sufficiently high level of abstraction is useful. A knowledge of such internal properties of a given compiler helps to reduce the grasp time required to understand the program code. Proposal Aim: Expose the internal structure of GCC conceptually. 1. We will use C as the front end language, but focus on the non front end part of GCC. 2. The concept of retargetability of the compiler will be introduced. 3. A "tour" of a C program through gcc will show the call sequence and be used to bring out the useful features of GCC that help study the internals. 4. The compilation problem will be presented operationally; no theory discussions. 5. Gimple and RTL as the critical IRs will be discussed. 6. The lowering operations, given 4 and 5, will be presented to yield a "mental model" of GCC based compilation. 7. The presentation will mainly center around GCC 4.0.x. Other versions may be discussed with reference to this. |
|
| Pre-requisites | Knowledge of systems programming (including but not limited to compiler construction) and processor architectures, lex and bison. | |
| Speaker Profile | Abhijat Vichare is a physicist who has been interested in computation theory, systems software and operating systems. A firm believer in Freedom, he has been interested in Free Software since 1994 with particular relevance to the Indian scenario. He likes to express programs mostly in Lisp/Scheme and occasionally C/Fortran and has written some programs including a Scheme interpreter. He hopes to develop a system that is localized from ground up, preferably using Scheme as it's systems language, for he believes that systems based on the functional paradigm *may* have better development speed than imperative ones, and that could be useful, even economically, to our society. He has taught computer science at Pune University and currently is a research scientist working on GCC internals at the Center for Formal Design and Verification of Software (CFDVS) at IIT Bombay. The material presented here will shortly be found linked on the main GCC website. | |



















