GIMPLE is a family of intermediate representations (IR) based on the tree data structure. At present, there are only two kinds of GIMPLE:

Almost all tree optimizer passes work on SSA GIMPLE, while some work on normal low level GIMPLE. It is very likely that at one point, GCC will lower low level GIMPLE even further, in order to simplify the GIMPLE to RTL expand pass.

The gcc (or cc1) argument options -fdump-tree-all -fdump-tree-ssa -fdump-tree-optimized etc... might be used to have some GIMPLE intermediate representations dumped (in a simpler textual form). In passes, your C code could call print_gimple_expr or print_gimple_stmt ...

A more compact data representation for GIMPLE and trees has been proposed: tuples

References

None: GIMPLE (last edited 2008-01-10 19:38:39 by localhost)