摘要: 引入控制块分解流图来构建控制流树,确定流图中的回边及循环路径中包含的节点,通过消去原流图中的回边,构建无环流图,简化流图的数据流分析。控制块将流图的控制关系转移到新构建的控制流树的内部控制节点上。使用控制块分解算法将流图转换到控制流树过程中,所创建节点数目不超过n,使用控制流树求解路径表达式和确定回边的时间复杂度不超过O(nlogn)。
关键词:
编译器优化,
流图,
全局数据流分析,
控制流树,
控制块
Abstract: This paper introduces an algorithm for constructing control flow tree by using control block decomposing flow graph, and determines the back edges of flow graph and nodes included in the loop during constructing the tree. Acyclic flow graph is constructed by eliminating the back edges to simplify global data flow analysis. Control blocks transform the control relationship of flow graph to inner nodes in control flow tree. The number of created nodes is less than n. That solving path expression and determining back edges run in O(nlogn) by using the decomposition of control block transforming flow group to control flow tree.
Key words:
compiler optimization,
flow graph,
global data flow analysis,
control flow tree,
control block
中图分类号:
李兰英;张 滇;崔林海;胡 磊. 一种使用控制块消除流图中回边的算法[J]. 计算机工程, 2008, 34(20): 74-77.
LI Lan-ying; ZHANG Dian; CUI Lin-hai; HU Lei. Algorithm for Eliminating Back Edge of Flow Graph with Control Block[J]. Computer Engineering, 2008, 34(20): 74-77.