A lot of other GCC-related documentations and resources exist on the Web (use your favorite search engine);
Studying the source code of GCC, notably gcc/tree.def (about Tree-s), gcc/gimple.def (about Gimple-s), gcc/tree-pass.h and gcc/passes.c (about passes); looking into the source code of your version of GCC is relevant;
Looking into the source code of GCC MELT, notably its gcc/melt/ directory (but ignore the gcc/melt/generated/ sub-directory);
Asking questions related to GCC internals (after having investigated them by yourself) on gcc@gcc.gnu.org mailing list, archived here;
Audience:experimentedGCC
users, curious about GCC MELT, having
already downloaded and installed it, and
fluent with command-line and development utilities
(e.g. gcc, make, bash, awk, some
editor like emacs, vim, or gedit etc...),
and already knowing how
to invoke GCC. Check
that your gcc command invokes directly
the GCC compiler, without being
aliased to utilities
like ccache.
It is strongly suggested to read the
tutorials below in order, after having
installed GCC MELT on your computer.
Tutorial on invoking and using the MELT plugin
Read first our tutorial on how to
use GCC MELT (after having
installed it). This tutorial will explain on how to invoke
the MELT plugin
for GCC.
(It does not explain the MELT
language, or how to develop your own GCC
extensions in MELT).
Tutorial on the MELT language
After having installed and be able to
invoke MELT on your machine (by
reading the above tutorial),
read the Tutorial on
the MELT domain specific
language(incomplete draft), which explain some
basics about the MELT language (without
any focus on handling GCC specific data).
To be written, to explain how to customize GCC. See
some slides below.
Reference for GCC MELT
Reference documentation addresses
the experimented GCC MELT user.
Reference documentation should be available locally
on your system if the GCC MELT plugin has
been properly installed. This documentation is written or generated
in Texinfo form,
then converted to HTML.
GCC MELT user reference documentation
The user reference documentation explains how to use
the GCC MELT plugin, i.e. what are the
available program argument options and environment variables. It is
in the (hand-written)
file meltplugin.html (GFDL
license).
GCC MELT API reference documentation
The API reference documentation explains how to code in the
the MELT domain specific language,
i.e. what language constructs (macros, primitives, functions....)
are available. It is machine-generated from :doc
annotations inside *.melt files. It is available in the big (generated) file meltpluginapi.html (GPLv3 licensed, since derived from GPLv3 source code).
tutorial on Gcc internals and Melt extensions (Paris, january 2012, Hipeac 2012 tutorial, improved for a talk at LIP6, Paris, may 2012) [PDF, 135+ slides]
talk on MELT (given at INRIA, LIG, MOUAIS near Grenoble, december 2011) [PDF, 100 slides]
A leaflet with a short description of GCC MELT (goals and
overall features) is available as a web page or as a PDF (2 sided, one A4
color sheet) document (october 2010).