记忆数据流方程

195 阅读1分钟

写下我记忆数据流方程的小技巧,其实就是对关键点的提取记忆。

首先这几个数据流方程都是基本块层级的分析。

  1. 到达-定义分析:"ouage kill 四连杀",并集。
out[B]=gen[B](in[B]kill[B]) out[B]=gen[B]\cup (in[B]-kill[B])
in[B]=PB的前驱out[P] in[B]=\bigcup \limits_{P是B的前驱}out[P]
  1. 活跃变量分析:"in use out door 在户外使用",并集,逆向数据流。
in[B]=use[B](out[B]def[B]) in[B] = use[B] \cup (out[B]-def[B])
out[B]=PB的后继in[P] out[B] = \bigcup\limits_{P是B的后继} in[P]
  1. 可用表达式分析:同到达-定义分析。同样是生成-杀死的形式,注意是交集
out[B]=e_gen[B](in[B]e_kill[B]) out[B] = e\_gen[B] \cup (in[B] - e\_kill[B])
in[B]=PB的前驱out[P] in[B] = \bigcap\limits_{P是B的前驱} out[P]
in[ENTRY]= in[ENTRY] = \emptyset