跳转至

依赖

https://www.cnblogs.com/Five100Miles/p/14942834.html

  1. 写后读(RAW, read after write), 通常情况下一个值必须先定义后使用, 因此又称数据依赖(data dependency)或真依赖(true dependency).
  2. 读后写(WAR, write after read), 这种情况通常发生在对同一变量/寄存器连续读写之间, 由于读的是前一次写的值, 而写的是后一次的值, 因此被称为反依赖(anti dependency).
  3. 写后写(WAW, write after write), 对同一变量/寄存器连续写, 被称为输出依赖(output dependency). 在LLVM调度器中使用SDep(schedule dependency)描述两个SUnit(schedule unit)之间的依赖(见include/llvm/CodeGen/ScheduleDAG.h).

寄存器重命名

解决WAW,WAR冒险。