First page Back Continue Last page Graphics

Gibbons & Muchnick Algorithm

  • Pre-pass basic block & build DAG
  • Put roots of DAG into candidate set
  • Select first instr looking at heuristics and predecessors of this basic block
  • While candidate set not empty
  • Select/Eval candidate based upon last instr & heuristics
  • Emit Instr
  • Delete Instr from set & add newly exposed instrs