1. A method for avoiding dependencies when concurrently executing instructions, comprising the steps of: (1) storing a plurality of instructions in an instruction window; (2) assigning a tag to each instruction stored in said instruction window, wherein each tag points to a unique location in a temporary buffer; (3) concurrently executing one or more of said plurality of instructions, thereby producing one or more results, wherein each result corresponds to a unique one of said one or more instructions; (4) for an instruction executed in step (3), storing said instruction's corresponding result in said location in said temporary buffer pointed to by said tag assigned to said instruction; (5) retiring said instruction by transferring said instruction's corresponding result from said temporary buffer to a register in a main register file; (6) after retiring said instruction, storing a new instruction in said instruction window; and (7) assigning said tag assigned to said retired instruction to said new instruction, thereby recycling said tag.