【输入】 程序控制流图CFG 【输出】 带区域结点的控制依赖图CDG 【流程】 1. 为CFG添加一个虚构谓词结点start,它的Y边指向入口结点entry,出边指向出口结点exit,得到CFG+。添加start是因为entry到第1个基本块没有条件判断 2. 为CFG+构建后必经结点树PDOMTree,将CFG+中所有n不是m的后必经结点的边m->n
3. 引入Region Node优化CDG避免谓词表达式的重复计算 另外,我们会对CDG继续进行优化,令每个节点至多控制依赖于一个节点,如果存在有多个控制依赖的前继节点,就需要新建一个Region Node节点作为临时变量去暂存控制变量的计算结果(所有控制变量进行或运算),也被称为去捕获谓词表达式的计算结果。该优化通过插入Region Node去...
3. 引入Region Node优化CDG避免谓词表达式的重复计算另外,我们会对CDG继续进行优化,令每个节点至多控制...
3. 引入Region Node优化CDG避免谓词表达式的重复计算另外,我们会对CDG继续进行优化,令每个节点至多控制...