Estimating the impact of scalable pointer analysis on optimization

被引:0
作者
Das, M [1 ]
Liblit, B
Fähndrich, M
Rehof, J
机构
[1] Microsoft Corp, Res, Redmond, WA 98052 USA
[2] Univ Calif Berkeley, Dept EECS, Berkeley, CA 94720 USA
来源
STATIC ANALYSIS, PROCEEDINGS | 2001年 / 2126卷
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper addresses the following question: Do scalable control-flow-insensitive pointer analyses provide the level of precision required to make them useful in compiler optimizations? We first describe alias frequency, a metric that measures the ability of a pointer analysis to determine that pairs of memory accesses in C programs cannot be aliases. We believe that this kind of information is useful for a variety of optimizations, while remaining independent of a particular optimization. We show that control-flow and context insensitive analyses provide the same answer as the best possible pointer analysis on at least 95% of all statically generated alias queries. In order to understand the potential run-time impact of the remaining 5% queries, we weight the alias queries by dynamic execution counts obtained from profile data. Flow-insensitive pointer analyses are accurate on at least 95% of the weighted alias queries as well. We then examine whether scalable pointer analyses are inaccurate on the remaining 5% alias queries because they are context-insensitive. To this end, we have developed a new context-sensitive pointer analysis that also serves as a general engine for tracing the flow of values in C programs. To our knowledge, it is the first technique for performing context-sensitive analysis with subtyping that scales to millions of lines of code. We find that the new algorithm does not identify fewer aliases than the context-insensitive analysis.
引用
收藏
页码:260 / 278
页数:19
相关论文
共 24 条
[1]  
ANDERSEN L, 1994, 9419 DIKU U COP
[2]  
CHATTERJEE R, 1999, 26 ACM SIGPLAN S PRI
[3]  
CHENG BC, 2000, P ACM SIGPLAN 2000 C
[4]  
DAS M, 2000, P SIGPLAN 2000 C PRO
[5]  
DIWAN A, 1998, P ACM SIGPLAN 98 C P
[6]  
EMAMI M, 1994, P ACM SIGPLAN 94 C P
[7]  
FAHNDRICH M, 2000, P ACM C PROGR LANG D
[8]  
FOSTER JS, 2000, P 7 INT STAT AN S
[9]   TYPE INFERENCE WITH POLYMORPHIC RECURSION [J].
HENGLEIN, F .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (02) :253-289
[10]  
Hind M, 1998, LECT NOTES COMPUT SC, V1503, P57