期刊文献+

需求驱动的流敏感别名检查 被引量:1

Demand-driven flow-sensitive alias checking
下载PDF
导出
摘要 别名分析的精度影响着很多其他编译优化的效果。在对展开后的循环体做指令调度的时候,不精确的别名分析结果会导致冗余数据依赖的产生,从而限制了调度。流敏感的别名分析因为代价过高而扩展性不好。在流不敏感别名信息的基础上,提出了一种需求驱动的流敏感别名检查方法,能够以流敏感的方式判断两个表达式在某程序点上是否为别名。该方法假设两个表达式之间具有别名关系,从而获取初始的数据流事实。用数据流分析技术计算逆向程序点上的数据流事实。如果在所有逆向路径上的数据流事实中都产生了矛盾,则认为别名关系不成立。实验结果表明,该方法能较好地提高别名分析的精度。 The precision of alias analysis determines the effects of many other compiler optimizations. While scheduling the instructions in the unrolled loop body, imprecise results of alias analysis can lead to redundant data dependence which restricts the scheduling. Because flow-sensitive alias analysis is very expensive, it doesn’t have good scalability. Based on the flow-insensitive alias information, it proposes a demand-driven, flow-sensitive alias checking method that can report whether two expressions are aliased at any given program point in a flow-sensitive way. It is supposed that these two expressions are aliased and the initial dataflow fact is computed. The dataflow facts at the backward program points are computed using dataflow analysis technique. If contradictions occur in the dataflow fact on all the backward paths, it can be concluded that these tow expressions are not aliased. Experimental result shows that the method can improve the precision of alias analysis.
出处 《计算机工程与应用》 CSCD 2013年第10期35-39,共5页 Computer Engineering and Applications
基金 "核高基"重大专项(No.2009ZX01036-001-001)
关键词 别名检查 流敏感 需求驱动 alias checking flow-sensitive demand-driven
  • 相关文献

参考文献13

  • 1Hind M, Burke M, Carini P, et al.Interprocedural pointer alias analysis[J].ACM Transactions on Programming Lan- guages and Systems, 1999,21 (4) : 848-894.
  • 2Emami M, Ghiya R, Hendren L J.Context-sensitive interpro- cedural points-to analysis in the presence of function point- ers[C]//SIGPLAN Conference on Programming Language Design and Implementation,1994:242-256.
  • 3Steensgaard B.Points-to analysis in almost linear time[C]// Proceedings of the 23rd ACM SIGPLAN-SIGACT Sympo- sium on Principles of Programming Languages, 1996:32-41.
  • 4Andersen L.Program analysis and specialization for the C programming language[D].[S.1.]:University of Copenhagen, 1994.
  • 5Rugina R, Rinard M.Pointer analysis for multithreaded pro- grams[C]//PLDI' 99: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation.New York,USA:ACM Press, 1999:77-90.
  • 6Sridharan M, Bod'~k R.Refinement-based contextsensitive points-to analysis for Java[C]//ACM SIGPLAN,2006,41: 387-400.
  • 7Lattner C, Lenharth A, Adve V.Making context-sensitive points-to analysis with heap cloning practical for the real world[C]//ACM SIGPLAN, 2007,42 : 278-289.
  • 8Sheng T,Chen W,Zheng W.A context-sensitive pointer anal- ysis phase in open64 compiler[C]//2nd Annual Workshop on Open64 in Conjunction with IEEE/ACM International Symposium on Code Generation and Optimization(CGO), 2009.
  • 9Duesterwald E, Gupta R, Sofia M.Demand-driven computa- tion of interprocedural data flow[C]//Proceedings of the 22rid ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1995 : 37-48.
  • 10Horwitz S, Reps T, Sagiv M.Demand interprocedural data- flow analysis[C]//SIGSOFT ' 95.New York: ACM, 1995 : 104-115.

同被引文献2

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部