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

What's hot (20)

PPTX
Directed Acyclic Graph Representation of basic blocks
Mohammad Vaseem Akaram
 
PPTX
Templates in C++
Tech_MX
 
PPTX
Lecture 14 run time environment
Iffat Anjum
 
DOCX
CD CLASS NOTES- UNIT-4.docx
KANDE ARCHANA
 
PPT
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
PPTX
Peephole Optimization
United International University
 
PDF
Data Structures & Algorithm design using C
Emertxe Information Technologies Pvt Ltd
 
PPTX
Boyer–Moore string search algorithm
Hamid Shekarforoush
 
PPT
Functions in C++
Mohammed Sikander
 
PDF
Python Flow Control
Mohammed Sikander
 
PPTX
Principle source of optimazation
Siva Sathya
 
PPTX
Character set of c
Chandrapriya Rediex
 
PPT
Chapter1 c programming data types, variables and constants
vinay arora
 
PPSX
Complete C programming Language Course
Vivek Singh Chandel
 
PPTX
1.7. eqivalence of nfa and dfa
Sampath Kumar S
 
PPTX
A presentation on prim's and kruskal's algorithm
Gaurav Kolekar
 
PPTX
Dynamic memory allocation in c++
Tech_MX
 
PPTX
C++ string
Dheenadayalan18
 
PPTX
File Management in C
Paurav Shah
 
PPT
pushdown automata
Sujata Pardeshi
 
Directed Acyclic Graph Representation of basic blocks
Mohammad Vaseem Akaram
 
Templates in C++
Tech_MX
 
Lecture 14 run time environment
Iffat Anjum
 
CD CLASS NOTES- UNIT-4.docx
KANDE ARCHANA
 
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
Peephole Optimization
United International University
 
Data Structures & Algorithm design using C
Emertxe Information Technologies Pvt Ltd
 
Boyer–Moore string search algorithm
Hamid Shekarforoush
 
Functions in C++
Mohammed Sikander
 
Python Flow Control
Mohammed Sikander
 
Principle source of optimazation
Siva Sathya
 
Character set of c
Chandrapriya Rediex
 
Chapter1 c programming data types, variables and constants
vinay arora
 
Complete C programming Language Course
Vivek Singh Chandel
 
1.7. eqivalence of nfa and dfa
Sampath Kumar S
 
A presentation on prim's and kruskal's algorithm
Gaurav Kolekar
 
Dynamic memory allocation in c++
Tech_MX
 
C++ string
Dheenadayalan18
 
File Management in C
Paurav Shah
 
pushdown automata
Sujata Pardeshi
 

Viewers also liked (15)

DOCX
HRM - PM in GCC
Muhammad Danish Azad
 
ODP
Introduction to Perl - Day 1
Dave Cross
 
ODP
Gcc opt
Mark Veltzer
 
PPTX
C compilation process
RajKumar Rampelli
 
PDF
GCC Compiler as a Performance Testing tool for C programs
Daniel Ilunga
 
PPT
Gccgdb
selva raj
 
PPTX
Compiling Under Linux
PierreMASURE
 
PPTX
MinGw Compiler
Avnish Patel
 
PDF
How it's made: C++ compilers (GCC)
Sławomir Zborowski
 
PDF
GNU Compiler Collection - August 2005
Saleem Ansari
 
PPT
GEM - GNU C Compiler Extensions Framework
Alexey Smirnov
 
PPT
Principles of compiler design
Janani Parthiban
 
PPTX
G++ & GCC
Beste Ekmen
 
PPT
NetBeans para Java, C, C++
Manuel Antonio
 
PDF
Deep C
Olve Maudal
 
HRM - PM in GCC
Muhammad Danish Azad
 
Introduction to Perl - Day 1
Dave Cross
 
Gcc opt
Mark Veltzer
 
C compilation process
RajKumar Rampelli
 
GCC Compiler as a Performance Testing tool for C programs
Daniel Ilunga
 
Gccgdb
selva raj
 
Compiling Under Linux
PierreMASURE
 
MinGw Compiler
Avnish Patel
 
How it's made: C++ compilers (GCC)
Sławomir Zborowski
 
GNU Compiler Collection - August 2005
Saleem Ansari
 
GEM - GNU C Compiler Extensions Framework
Alexey Smirnov
 
Principles of compiler design
Janani Parthiban
 
G++ & GCC
Beste Ekmen
 
NetBeans para Java, C, C++
Manuel Antonio
 
Deep C
Olve Maudal
 
Ad

Similar to GCC, GNU compiler collection (20)

DOCX
GNU GCC - what just a compiler...?
Saket Pathak
 
PDF
Os Lattner
oscon2007
 
PDF
GCC GENERIC
Wang Hsiangkai
 
PDF
Scheme on WebAssembly: It is happening!
Igalia
 
PPT
Csdfsadf
Atul Setu
 
PPT
C
Anuja Lad
 
PDF
sysprog1
Ahmed Mekkawy
 
PPTX
cs262_intro_slides.pptx
AnaLoreto13
 
PPTX
Understanding how C program works
MindBridgeTech
 
PDF
xv6 is a re−implementation of Dennis Ritchie’s and Ken Thompson’s Unix Versio...
TulioMuniz3
 
PPT
01 c
aynsvicky
 
PDF
Introduction To Lisp
kyleburton
 
PDF
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
 
PPTX
Compiler
alekhya57
 
PDF
The compilation process
Alexander Bollbach
 
DOCX
C Unit 1 notes PREPARED BY MVB REDDY
Rajeshkumar Reddy
 
PPTX
Compiler Construction
Ahmed Raza
 
PDF
Linux programming
Abhinav Upadhyay
 
GNU GCC - what just a compiler...?
Saket Pathak
 
Os Lattner
oscon2007
 
GCC GENERIC
Wang Hsiangkai
 
Scheme on WebAssembly: It is happening!
Igalia
 
Csdfsadf
Atul Setu
 
sysprog1
Ahmed Mekkawy
 
cs262_intro_slides.pptx
AnaLoreto13
 
Understanding how C program works
MindBridgeTech
 
xv6 is a re−implementation of Dennis Ritchie’s and Ken Thompson’s Unix Versio...
TulioMuniz3
 
01 c
aynsvicky
 
Introduction To Lisp
kyleburton
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
 
Compiler
alekhya57
 
The compilation process
Alexander Bollbach
 
C Unit 1 notes PREPARED BY MVB REDDY
Rajeshkumar Reddy
 
Compiler Construction
Ahmed Raza
 
Linux programming
Abhinav Upadhyay
 
Ad

Recently uploaded (20)

PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
July Patch Tuesday
Ivanti
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
July Patch Tuesday
Ivanti
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 

GCC, GNU compiler collection