 A subset, called "GIMPLE", is targeted by all the front ends of GCC.The middle stage of GCC does all of the code analysis and optimization, working independently of both the compiled language and the target architecture, starting from the GENERIC representation and expanding it to register transfer language (RTL).The GENERIC representation contains only the subset of the imperative programming constructs optimized by the middle end.