The patterns of an individual RTL instruction describe which registers are inputs to that instruction and which registers are outputs from that instruction. However, it is often useful to know where the definition of a register input comes from and where the result of a register output is used. One way of obtaining this information is to use the RTL SSA form, which provides a Static Single Assignment representation of the RTL instructions.
The RTL SSA code is located in the rtl-ssa subdirectory of the GCC source tree. This section only gives a brief overview of it; please see the comments in the source code for more details.