 Until GCC 4.0 the tree representation of the program was not fully independent of the processor being targeted.The meaning of a tree was somewhat different for different language front ends, and front ends could provide their own tree codes.This was simplified with the introduction of GENERIC and GIMPLE, two new forms of language-independent trees that were introduced with the advent of GCC 4.0.