3.
  (1) 检查DAG中是否已有一结点,其唯一后继为NODE(B),且标记为op(即找公共子表达式)。如果没有,则构造该结点n,否则就把已有的结点作为它的结点并设该结点为n,转4.。
  (2) 检查DAG中是否已有一结点,其左后继为NODE(B),右后继为NODE(C),且标记为op(即找公共子表达式)。如果没有,则构造该结点n,否则就把已有的结点作为它的结点并设该结点为n。转4.。
  4.如果NODE(A)无定义,则把A附加在结点n上并令NODE(A)=n;否则先把A从NODE(A)结点上的附加标识符集中删除(注意,如果NODE(A)是叶结点,则其标记A不删除),把A附加到新结点n上并令NODE(A)=n。转处理下一四元式。
  例 试构造以下基本块G的DAG。
  (1) T0∶=3.14
  (2) T1∶=2 * T0
  (3) T2∶=R + r
  (4) A∶=T1 * T2
  (5) B∶=A
  (6) T3∶=2 * T0
  (7) T4∶=R + r
  (8) T5∶=T3 * T4
  (9) T6∶=R - r
  (10) B∶=T5 * T6