Differences between revisions 1 and 265 (spanning 264 versions)
Revision 1 as of 2006-07-13 00:16:25
Size: 3524
Editor: server1
Comment:
Revision 265 as of 2019-08-24 15:14:27
Size: 8381
Comment: Added Parallel GCC topic.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
This page contains information about the [http://gcc.gnu.org GNU Compiler Collection] This page contains information about the [[https://gcc.gnu.org|GNU Compiler Collection]]. Please read HowToUseWiki if you need help editing this WikiWikiWeb. (Only members of the EditorGroup group may edit this wiki.)
Line 4: Line 4:
=== This wiki is not for random discussion of GCC, nor for asking questions. It is here to provide information. If you have questions, please use the mailing list. Do not add questions to these pages! gcc-help@gcc.gnu.org is a good mailing list for questions about GCC. === ~+'''This wiki is not for random discussion of GCC, nor for asking questions. It is here to provide information. If you have questions, please use the mailing list. Do not add questions to these pages! gcc-help@gcc.gnu.org is a good mailing list for questions about GCC. '''+~
||<tablewidth="100%">There is an [[GCConIRC|IRC channel dedicated to GCC development]] at {{{irc.oftc.net/#gcc}}} <<BR>> '''NOTE!''' This channel is exclusively dedicated to the '''development''' of GCC. Questions regarding usage of GCC are not appropriate. ||
||There is an IRC channel dedicated to helping users with GCC at {{{irc.freenode.org/#gcc}}}. Please use this channel for questions regarding GCC usage and general GCC discussion. ||
Line 6: Line 8:
There is an [:GCConIRC:IRC channel dedicated to GCC development] at {{{irc.oftc.net/#gcc}}} [[BR]]
*NOTE!* This channel is exclusively dedicated to the *development of* GCC. Questions regarding usage of GCC will be generally ignored, and persistent offenders may be banned from the channel.
== GCC Info ==
 * [[DevelopmentSchedule|Development schedule]]
 * [[FAQ|Frequently Asked Questions]]
 * [[InstallingGCC|Installing GCC]]
 * [[LRAIsDefault|LRA is now the default]]
 * [[plugins|GCC plugins]]
 * [[GFortran|GFortran, the Fortran front-end]]
 * [[SummerOfCode|Google's Summer of Code]]
 * [[Libstdc++|libstdc++, the C++ runtime library]]
Line 9: Line 18:
== GCC Info: ==
 * ["GCC Traffic (news)"]
 * ["SummerOfCode"]
 * ["GCC 4.2 Projects"]
 * ["GCC 4.1.1 RC Status"]
 * ["GCC 4.1 Projects"]
 * ["GCC 4.0.2 Status"]
 * ["GCC Patch Tracking"]
 * [What is new in GCC 4.0||What will be in 4.0]
  * [:Visibility:Proper C++ visibility support]
 * [:DevelopmentSchedule:Development schedule]
 * [:DebuggingGCC:Debugging GCC]
 * [:TestingGCC:Testing GCC]
 * [:WritingANewPass:Writing a new pass]
 * [:WritingANewFrontEnd:Writing a new front-end]
<?plugin SiteMap
         description="* ["User Information"]"
         page='User Information'
         reclimit=1
         direction=forward
         firstreversed=0
         startlevel='**'
?>
== User Information ==
 * [[Visibility|Proper C++ visibility support]]
 * [[Math_Optimization_Flags|Math Optimization Flags]]
 * [[Mudflap_Pointer_Debugging|Mudflap Pointer Debugging]]
 * [[Building_Cross_Toolchains_with_gcc|Building Cross Toolchains with gcc]]
 * [[Software_floating_point|Software floating point]]
 * [[LinkTimeOptimizationFAQ|Link Time Optimization Frequently Asked Questions]]
 * [[https://twiki.cern.ch/twiki/bin/view/LCG/VILto|Exploiting Link Time Optimization]]
 * [[Offloading|Offloading to (GPU) Accelerators]]
Line 33: Line 28:
== Events ==
 * [[cauldron2019|GNU Tools Cauldron 2019, September 12-15 2019, Montréal, Canada]]
 * [[cauldron2018|GNU Tools Cauldron 2018, September 7-9 2018, Manchester, UK]]
 * [[cauldron2017|GNU Tools Cauldron 2017, September 8-10 2017, Prague, Czech Repulic]]
 * [[cauldron2016|GNU Tools Cauldron 2016, September 9-11 2016, Hebden Bridge, UK]]
 * [[cauldron2015|GNU Tools Cauldron 2015, August 7-9 2015, Prague, Czech Republic]]
 * [[cauldron2014|GNU Tools Cauldron 2014, July 18-20 2014, Cambridge, UK]]
 * [[cauldron2013|GNU Tools Cauldron 2013, July 12-14 2013, Mountain View, California]]
 * [[http://www.cse.iitb.ac.in/grc/gcc-workshop-13/|Essential Abstractions in GCC 2013, June 29 - July 03, 2013, IIT Bombay, Mumbai, India]]
 * [[cauldron2012|GNU Tools Cauldron 2012, July 9-11 2012, Prague, Czech Republic]]
 * [[http://www.cse.iitb.ac.in/grc/gcc-workshop-12/|Essential Abstractions in GCC 2012, June 30 - July 03, 2012, IIT Bombay, Mumbai, India]]
 * [[GCCGathering2011|GCC Gathering 2011, London, UK for the weekend of 17-Jun-2011]]
 * [[http://grow2011.inria.fr/|GROW 2011, Apr. 2-3, Chamonix, France, co-located with CGO]]
Line 34: Line 42:
== [:StructureOfGCC:Structure of GCC] ==
 * [:FrontEnd:Language front ends]
 * [:MiddleEnd:Target independent code transformation frameworks]
  * [:TreeOptimizers:Tree Optimizers]
  * [:RTLOptimizers:RTL Optimizers]
 * [:BackEnd:Target dependent passes and code generation]
  * [:reload:reload]
== Getting Started with GCC Development ==
 * [[GettingStarted|Tutorials, HOWTOs, internal documentation]]
 * [[EasyHacks]]
 * [[GCC_Patch_Tracking|GCC Patch Tracking]]
 * [[SvnHelp|SVN Guide for GCC developers]]
 * [[GitMirror|Accessing the GCC sources using Git]]
 * [[Top-Level_Bootstrap|Top-Level Bootstrap]]
 * [[HowToPrepareATestcase|How to prepare a testcase]]
 * [[A_guide_to_testcase_reduction|A guide to testcase reduction]]
 * [[Perf_Callgraph|Recording call-graphs with perf]]
 * CompileFarm
Line 42: Line 54:
== Internal GCC documentation ==
 * [http://people.redhat.com/dnovillo/pub/tree-ssa/doc/html/ Tree SSA doxygen documentation (generated daily)]
 * [http://gcc.gnu.org/onlinedocs/gccint/ GCC internals]
 * [http://gcc.gnu.org/onlinedocs/cppinternals/ CPP internals]
== Improving GCC ==
 * [[ImprovementProjects|Improvement Projects Home]]
 * [[Graphite-4.8 | Directions for Graphite 4.8 and beyond]]
 * [[rearch|GCC re-architecture project - Border Control]]
Line 47: Line 59:
== GCC summit proceedings (as PDF) ==
 * [http://zenii.linux.org.uk/ajh/gcc/gccsummit-2003-proceedings.pdf 2003]
 * [http://www.gccsummit.org/2004/2004-GCC-Summit-Proceedings.pdf 2004]
 * [http://www.gccsummit.org/2005/2005-GCC-Summit-Proceedings.pdf 2005]
 * [http://www.gccsummit.org/2006/2006-GCC-Summit-Proceedings.pdf 2006]
== Current Projects (alphabetical) ==
 * [[Atomic|Atomics]]
 * [[AutoParInGCC|Automatic parallelization]]
 * [[Better_Diagnostics|Better Diagnostics]]
 * [[Better_Uninitialized_Warnings|Better Uninitialized Warnings]]
 * [[boringcc| Boring GCC (boringcc)]]
 * [[ABIInstrumentation|C++ ABI Instrumentation]]
 * [[Atomic/GCCMM|C++11 Memory Model]]
 * [[cxx-conversion|C++ Conversion]]
 * [[cxx-coroutines|C++ Coroutines]]
 * [[cxx-modules|C++ Modules]]
 * [[Atomic/C11|C11 Atomics]]
 * [[CC0Transition|CC0 Transition]]
 * [[cilkplus-merge|Cilk Plus merge into mainline]]
 * [[https://gcc.gnu.org/projects/cli.html|CLI Back-End and Front-End]]
 * [[early-debug|Early Generation of Debug Information]]
 * [[functionAdaptation|Function Adaptation]]
 * [[gcc-in-cxx|gcc-in-cxx - porting gcc to compile as C++]]
 * [[gimplebackend|Gimple Back End]]
 * [[GimpleFrontEnd|Gimple Front End]]
 * [[Graphite]]
 * [[Ieee128PowerPC|IEEE 128-bit floating point support for PowerPC]]
 * [[IncrementalCompiler|Incremental compiler]]
 * [[InteractiveCompilationInterface|Interactive Compilation Interface]]
 * [[JIT|Just-In-Time Compilation (libgccjit.so)]]
 * [[LightweightIpo|Lightweight IPO -- LIPO]]
 * [[LoopOptTasks|Loop Optimization Related Tasks]]
 * [[NoUndefinedOverflow|Make C undefined overflow semantics explicit in the IL]]
 * [[MatchAndSimplify|Expression Simplification Language]]
 * [[MiddleEndArrays|Middle End Array Expressions]]
 * [[MiddleEndLispTranslator|Middle End Lisp Translator]] or [[MELT]]
 * [[MilepostGCC|MILEPOST GCC - enabling research on machine-learning based self-tuning compilers]]
 * [[FunctionBehavior|Modeling Function Behavior for more aggressive optimizations across call sites]]
 * [[ModularGCC|Make GCC more modular]]
 * [[SwingModuloScheduling|Modulo Scheduling Related Tasks]]
 * [[OOP|Object Oriented Programming in Fortran]]
 * [[OpenACC]]
 * [[OpenMP]]
 * [[Pass Activity Log]]
 * [[ParallelGcc|Parallelize GCC with Threads]]
 * [[pph|Pre-Parsed Headers]]
 * [[AndrewMacLeod/Ranger|Ranger - On-demand range generation]]
 * [[SplitStacks|Split Stacks]]
 * [[SSA Pressure Reduction]]
 * [[PythonFrontEnd|Python Front End]]
 * [[RustFrontEnd|Rust Front End]]
 * [[Stdlib Performance Advisor]]
 * [[VectorizationTasks|Vectorization Related Tasks]]
Line 53: Line 108:
== Improvements quicklinks ==
 * ["Speedup areas"]
 * ["general backend cleanup"]
 * ["Top-Level Bootstrap"]
 * [Proper GCC Memory Management||Memory management]
 * ["Partial Transitions"]
 * [:LinkTimeCleanups:Cleanup plan for link-time and dynamic optimization]
 * [:LoopOptTasks:Loop Optimization Related Tasks]
== Finished Projects (alphabetical) ==
 * [[Alias_Improvements|Alias Improvements]]
 * [[Constexpr]]
 * [[plugins-branch|Compiler Plugins]]
 * DataflowPorting
 * [[FunctionSpecificOpt|Function Specific Optimization]]
 * [[tuples|GIMPLE tuples]]
 * [[LinkTimeOptimization|Link Time Optimization]]
 * [[MemRef|Flattening Memory Reference Trees in the GIMPLE IL]]
 * [[MemoryModel|Tightening GCC's Memory Model]]
 * [[PDO|Using profile to drive optimizations]]
 * [[ThreadSafetyAnnotation|Thread Safety Annotations and Analysis]]
 * [[TransactionalMemory|Transactional Memory]]
 * [[Var_Tracking_Assignments|Var Tracking Assignments for correct debug information]]

<<Anchor(summitprocs)>>

== GCC Summit Proceedings ==
Proceedings of the [[http://www.gccsummit.org/|GCC Summit]]:

 * [[attachment:2003-GCC-Summit-Proceedings.pdf|2003]] ([[ftp://gcc.gnu.org/pub/gcc/summit/2003|Individual papers]])
 * [[attachment:2004-GCC-Summit-Proceedings.pdf|2004]] ([[ftp://gcc.gnu.org/pub/gcc/summit/2004|Individual papers]])
 * [[attachment:2005-GCC-Summit-Proceedings.pdf|2005]]
 * [[attachment:2006-GCC-Summit-Proceedings.pdf|2006]]
 * [[attachment:GCC2007-Proceedings.pdf|2007]]
 * [[attachment:gcc-2008-proceedings.pdf|2008]]
 * [[attachment:2009-GCC-Summit-Proceedings.pdf|2009]]
 * [[summit2010|2010]]

== GCC as a research compiler ==
 * [[GCC_Research|Notes for beginners]]

== GCC Research Opportunities Workshop Proceedings ==
 * [[GREPS-2007]] ([[http://sysrun.haifa.il.ibm.com/hrl/greps2007/|GREPS'07 website]])
 * [[GROW-2009]] ([[http://www.doc.ic.ac.uk/~phjk/GROW09/|GROW'09 website]])
 * [[GROW-2010]] ([[http://ctuning.org/workshop-grow10|GROW'10 website]])
Line 63: Line 146:
 * ["People"]
 * [:Planet_GCC:GCC developer blogs]
 * [:SvnHelp:SVN Guide for GCC developers]
 * [:HowToPrepareATestcase:How to prepare a testcase]
 * ["A guide to testcase reduction"]
 * ["CompileFarm"]
 * ["abbreviations and acronyms"]
 * ["History"]
 * [:DeadlySins:Deadly sins for a compiler writer]
 * ["Software floating point"]
 * ["Links"]
 * ["F90gl HowTo"]
+ [:AllPages:Index]
[[BR]]
Please link what you are doing from the subpages.
[[BR]][[BR]]


== General Wiki info: ==

 * What is a WikiWikiWeb? A description of this application.
 * Learn HowToUseWiki and learn about AddingPages.
 * Use the SandBox page to experiment with Wiki pages.
 * Please sign your name in RecentVisitors.
 * See RecentChanges for the latest page additions and changes.
 * Find out which pages are MostPopular.
 * Read the ReleaseNotes and RecentReleases.
 * [[History|History of GCC]]
 * [[People]]
 * [[CppConventions|Proposed C++ coding conventions]]
 * [[VolatileAccessComparison|Compiler comparison regarding volatile accesses]]
 * [[Planet_GCC|GCC developer blogs]]
 * [[GCC_glossary|GCC glossary]] and [[abbreviations_and_acronyms|abbreviations and acronyms]]
 * [[DeadlySins|Deadly sins for a compiler writer]]
 * [[Links]]
 * ListOfCompilerBooks
 * OrphanedPages: these pages should be linked from another page, or integrated into other pages and deleted. This doesn't apply to automatic redirections or homepages.

Welcome to GCC Wiki

This page contains information about the GNU Compiler Collection. Please read HowToUseWiki if you need help editing this WikiWikiWeb. (Only members of the EditorGroup group may edit this wiki.)

This wiki is not for random discussion of GCC, nor for asking questions. It is here to provide information. If you have questions, please use the mailing list. Do not add questions to these pages! gcc-help@gcc.gnu.org is a good mailing list for questions about GCC.

There is an IRC channel dedicated to GCC development at irc.oftc.net/#gcc
NOTE! This channel is exclusively dedicated to the development of GCC. Questions regarding usage of GCC are not appropriate.

There is an IRC channel dedicated to helping users with GCC at irc.freenode.org/#gcc. Please use this channel for questions regarding GCC usage and general GCC discussion.

GCC Info

User Information

Events

Getting Started with GCC Development

Improving GCC

Current Projects (alphabetical)

Finished Projects (alphabetical)

GCC Summit Proceedings

Proceedings of the GCC Summit:

GCC as a research compiler

GCC Research Opportunities Workshop Proceedings

Miscellaneous

None: HomePage (last edited 2019-09-19 12:46:17 by TamarChristina)