As stated previously, the state for an instruction in the out-of-order window is maintained in an Instruction Tree. Instructions in the tree are identified by an instruction id which is returned when the data structures for the instruction are allocated through the API function SIM_instruction_begin. All API functions that operate on an instruction take the instruction id as parameter.
Once an instruction is created with SIM_instruction_begin it can be inserted into the instruction tree with SIM_instruction_insert. This function takes the id of the instruction to insert and the id of a parent instruction. If the parent instruction already has a child the new instruction will be added as an additional child, thus creating a branch in the tree.