SlideShare a Scribd company logo
GCC : GNU compilers collection Alberto Bustamante Reyes (  www.albertobustamante.com  ) Author:
Brief introduction Compiler system developed by GNU Project
Distributed by FSF under GPL License
Written in C / C++
Default compiler for Unix and Mac OS X
Also ported to Windows (MinGW)
Brief introduction Originally developed for C language
Several front-ends added to support different languages: C / C++  (gcc / g++)
Java  (gcj)
Objective-C / Objective-C++  (gobjc / gobjc++ )
Fortran  (gfortran)
Structure Generic compiler: Front end
Back end GCC compiler: Front end
Middle end
Back end
Structure GCC Compiler (before 2005) Source code AST RTL RTL Object code FRONT END BACK END
Structure GCC Compiler (before 2005) Source code AST RTL RTL Object code FRONT END BACK END
Structure GCC Compiler (before 2005) Source code AST RTL RTL Object code FRONT END BACK END SSA Tree project: OPTIMIZATIONS
Structure GCC Compiler (after 2005) Source code AST GENERIC GIMPLE RTL FRONT END
Structure GCC Compiler (after 2005) Source code AST GENERIC GIMPLE RTL FRONT END Language dependent Language independent
Structure GCC Compiler (after 2005) Source code AST GENERIC GIMPLE RTL FRONT END Language dependent Language independent MIDDLE END
Structure: GENERIC & GIMPLE Why two kinds of trees? GIMPLE is a simplified subset of GENERIC GIMPLE GENERIC
Structure: GENERIC & GIMPLE GENERIC -> (Gimplifier) -> GIMPLE GIMPLIFIER if (foo ( a + b, c)) c = b ++ / a end if return c t1 = a +b t2 = foo (t1, c) If (t2 != 0 ) <L1, L2>  L1: t3 = b b = b + 1 c = t3 / a goto L3 L2: L3: return c
Structure: GENERIC & GIMPLE Developed by SSA Tree Project
SSA Developed by IBM in 1980

More Related Content

PPTX
PPTX
GCC RTL and Machine Description
PDF
Inter Process Communication
PDF
Code optimization in compiler design
PDF
Introduction to GNU Make Programming Language
PPTX
Git in 10 minutes
PDF
Golang
PDF
Target language in compiler design
GCC RTL and Machine Description
Inter Process Communication
Code optimization in compiler design
Introduction to GNU Make Programming Language
Git in 10 minutes
Golang
Target language in compiler design

What's hot (20)

PPT
Introduction to Compiler Construction
PPT
Intermediate code generation (Compiler Design)
PPTX
Transport Layer Security (TLS)
PPTX
Csma cd and csma-ca
PDF
Backpatching in Compiler Construction
PDF
Dataflow Analysis
PDF
Build Programming Language Runtime with LLVM
PPTX
Flynn's Taxonomy
PPTX
Data Structures used in Linux kernel
PDF
Syntax Directed Definition and its applications
PPTX
G++ & GCC
PPTX
Introduction to Makefile
PPTX
Parallel architecture &programming
PDF
Lecture 01 introduction to compiler
PPTX
Type checking in compiler design
PDF
PPTX
PDF
Basic blocks and flow graph in Compiler Construction
PPTX
Substitution techniques
ODP
Introduction to Shell script
Introduction to Compiler Construction
Intermediate code generation (Compiler Design)
Transport Layer Security (TLS)
Csma cd and csma-ca
Backpatching in Compiler Construction
Dataflow Analysis
Build Programming Language Runtime with LLVM
Flynn's Taxonomy
Data Structures used in Linux kernel
Syntax Directed Definition and its applications
G++ & GCC
Introduction to Makefile
Parallel architecture &programming
Lecture 01 introduction to compiler
Type checking in compiler design
Basic blocks and flow graph in Compiler Construction
Substitution techniques
Introduction to Shell script
Ad

Viewers also liked (14)

DOCX
HRM - PM in GCC
ODP
Introduction to Perl - Day 1
ODP
Gcc opt
PPTX
C compilation process
PDF
GCC Compiler as a Performance Testing tool for C programs
PPT
Gccgdb
PPTX
Compiling Under Linux
PPTX
MinGw Compiler
PDF
How it's made: C++ compilers (GCC)
PDF
GNU Compiler Collection - August 2005
PPT
GEM - GNU C Compiler Extensions Framework
PPT
Principles of compiler design
PPT
NetBeans para Java, C, C++
PDF
Deep C
HRM - PM in GCC
Introduction to Perl - Day 1
Gcc opt
C compilation process
GCC Compiler as a Performance Testing tool for C programs
Gccgdb
Compiling Under Linux
MinGw Compiler
How it's made: C++ compilers (GCC)
GNU Compiler Collection - August 2005
GEM - GNU C Compiler Extensions Framework
Principles of compiler design
NetBeans para Java, C, C++
Deep C
Ad

Similar to GCC, GNU compiler collection (20)

PPTX
07 140430-ipp-languages used in llvm during compilation
PPTX
CA-Lec2-Chap2-Instructions-HL-2-MCxxx.pptx
PPTX
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
ODP
C Under Linux
PDF
Boosting Developer Productivity with Clang
DOCX
GNU GCC - what just a compiler...?
PDF
Pragmatic Optimization in Modern Programming - Demystifying the Compiler
PDF
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
PPT
Glimpses of C++0x
PDF
Scheme on WebAssembly: It is happening!
PDF
Efficient JIT to 32-bit Arches
PDF
不深不淺,帶你認識 LLVM (Found LLVM in your life)
PDF
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
PDF
Challenges in GPU compilers
PDF
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
PPT
Target updated track f
PPT
Chip Ex2010 Gert Goossens
PDF
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
PDF
Replace OutputIterator and Extend Range
PPTX
HSA HSAIL Introduction Hot Chips 2013
07 140430-ipp-languages used in llvm during compilation
CA-Lec2-Chap2-Instructions-HL-2-MCxxx.pptx
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
C Under Linux
Boosting Developer Productivity with Clang
GNU GCC - what just a compiler...?
Pragmatic Optimization in Modern Programming - Demystifying the Compiler
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
Glimpses of C++0x
Scheme on WebAssembly: It is happening!
Efficient JIT to 32-bit Arches
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Challenges in GPU compilers
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
Target updated track f
Chip Ex2010 Gert Goossens
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
Replace OutputIterator and Extend Range
HSA HSAIL Introduction Hot Chips 2013

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Chapter 3 Spatial Domain Image Processing.pdf
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity

GCC, GNU compiler collection