Differences between revisions 1 and 2
Revision 1 as of 2007-07-27 16:13:07
Size: 1868
Editor: DiegoNovillo
Comment:
Revision 2 as of 2007-07-27 16:51:37
Size: 2765
Editor: DiegoNovillo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:CategoryTemplate
##master-date:Unknown-Date
#format wiki
#language en
Line 8: Line 2:
Welcome to the Getting Started section of the GCC Wiki. This section contains collected information geared towards folks who are new to GCC and may be feeling a bit lost in the barbaric jungles of GCC's source code. Although we are continuously trying to improve GCC's internal modularity and interfaces, the fact remains that GCC is about 20 years old, fairly large and we need to keep it working on the multitude of supported architectures and languages. So, getting to work with GCC can be a challenge. == Welcome to the Getting Started section of the GCC Wiki ==

This section contains collected information geared towards folks who are new to GCC and may be feeling a bit lost in the barbaric jungles of GCC's source code. Although we are continuously trying to improve GCC's internal modularity and interfaces, the fact remains that GCC is about 20 years old, fairly large and we need to keep it working on the multitude of supported architectures and languages. So, getting to work with GCC can be a challenge.
Line 19: Line 15:
= Dealing with the source code =
Line 20: Line 17:
= Tut  * [:DebuggingGCC:Debugging GCC]
 * [:PerformanceTesting:Compile time and memory utilization testing]
 * [:WritingANewPass:Writing a new pass]
 * [:WritingANewFrontEnd:Writing a new front-end]
Line 22: Line 22:
To add a page to this category, add a link to this page on the last line of the page. You can add multiple categories to a page. = Internal documentation =
Line 24: Line 24:
'''List of pages in this category:'''  * [http://gcc.gnu.org/onlinedocs/gccint/ GCC internals]
 * [http://gcc.gnu.org/onlinedocs/cppinternals/ CPP internals]
Line 26: Line 27:
[[FullSearch()]] = Tutorials, HOWTOs =
Line 28: Line 29:
----
CategoryCategory
 * [:OptimizationCourse:GCC Optimization Course and Tutorial]
 * [http://dnovillo.bravehost.com/Papers/#cgo2007 GCC Internals Tutorial at CGO 2007]
 * [http://www.cse.iitb.ac.in/~uday/gcc-workshop/?file=downloads Workshop on GCC Internals (Advanced GCC Workshop 2007)]
 * [attachment:loopcheat.ps Cheatsheet for loop optimizer (GCC summit 2007)]

= Outstanding projects =

 * ["Speedup areas"]
 * ["general backend cleanup"]
 * ["Top-Level Bootstrap"]
 * ["Top-Level Libgcc Migration"]
 * [:Memory management:Proper GCC Memory Management]
 * ["Partial Transitions"]
 * [:LinkTimeOptimization:Link Time Optimization]
 * [:LoopOptTasks:Loop Optimization Related Tasks]
 * [:SwingModuloScheduling:Modulo Scheduling Related Tasks]
 * ["Better Uninitialized Warnings"]
 * [:VectorizationTasks:Vectorization Related Tasks]
 * DataflowPorting
 * [:tuples:GIMPLE tuples]
 * [:functionAdaptation:Function Adaptation]

Welcome to the Getting Started section of the GCC Wiki

This section contains collected information geared towards folks who are new to GCC and may be feeling a bit lost in the barbaric jungles of GCC's source code. Although we are continuously trying to improve GCC's internal modularity and interfaces, the fact remains that GCC is about 20 years old, fairly large and we need to keep it working on the multitude of supported architectures and languages. So, getting to work with GCC can be a challenge.

Everyone is welcome to add links to tutorials, HOWTOs, cheat sheets, etc that may be floating around the net.

This page also has a collection of outstanding improvement projects that for one reason or another nobody has gotten around to finishing. You are welcome to add more, or to "claim" a project that you find interesting to work in.

Basics

So, you are ready to contribute to GCC. We are constantly looking for new developers who are willing to donate their time to advance GCC. Before you do, however, there is an important formality that you need to go through: Copyright assignment. GCC is owned by the [http://www.fsf.org Free Software Foundation (FSF)], as such, all contributors must assign their copyright to the FSF before any of their changes are accepted. The copyright assignment process is described in [http://gcc.gnu.org/contribute.html Contributing to GCC].

Dealing with the source code

  • [:DebuggingGCC:Debugging GCC]

  • [:PerformanceTesting:Compile time and memory utilization testing]

  • [:WritingANewPass:Writing a new pass]

  • [:WritingANewFrontEnd:Writing a new front-end]

Internal documentation

Tutorials, HOWTOs

Outstanding projects

  • ["Speedup areas"]
  • ["general backend cleanup"]
  • ["Top-Level Bootstrap"]
  • ["Top-Level Libgcc Migration"]
  • [:Memory management:Proper GCC Memory Management]
  • ["Partial Transitions"]
  • [:LinkTimeOptimization:Link Time Optimization]

  • [:LoopOptTasks:Loop Optimization Related Tasks]

  • [:SwingModuloScheduling:Modulo Scheduling Related Tasks]

  • ["Better Uninitialized Warnings"]
  • [:VectorizationTasks:Vectorization Related Tasks]

  • DataflowPorting

  • [:tuples:GIMPLE tuples]
  • [:functionAdaptation:Function Adaptation]

None: GettingStarted (last edited 2018-05-15 21:37:44 by JonathanWakely)