register renaming
Giving every new result its own fresh hidden register, so instructions that merely reuse a register name no longer have to wait for each other.
Register renaming maps each architectural destination to a newly allocated physical register and each source to the current mapping, removing WAR and WAW dependences and leaving only true (RAW) dependences.
See also