| R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN '01 Conference on Programming Language Design and Implementation, pages 47--58, June 2001. |
....alias information is key to identifying such instructions. Instruction scheduling and common subexpression elimination are other optimizations of limited usefulness in the absence of pointer alias information. While there is an extensive body of work on pointer alias analysis of various kinds [33, 30, 15, 10, 18], these are mostly high level analyses carried out in terms of source language constructs. Unfortunately, such analyses turn out to be of limited utility at the machine code level. In fact, the problem of memory disambiguation is one of the weak points of object code modi cation, because high ....
....number of systems have been described for optimization of executable code [31, 19, 11, 25] to the best of our knowledge, alias analysis carried out by these systems is limited to fairly simple local analysis. On the other hand, there is an extensive work on pointer alias analysis of various kinds [33, 30, 15, 10, 18]. However, in almost all cases, these are high level analyses carried out in terms of source language constructs that ignore features typically encountered in executable programs, such as type casts, pointer arithmetic, out of bounds array accesses, etc. As a result, such analyses are of limited ....
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN '01 Conference on Programming Language Design and Implementation, pages 47-58, June 2001.
....source level programs. For instance, whole program optimizations may open up opportunities for moving invariant memory instructions out of loops. However, alias information is key to identifying such opportunities. While there is an extensive body of work on pointer alias analysis of various kinds [30, 27, 12, 8, 16], these are mostly high level analyses carried out in terms of source language constructs. Unfortunately, such analyses turn out to be of limited utility at the machine code level. In fact, the problem of memory disambiguation is one of the weak points of object code modification, because high ....
....number of systems have been described for optimization of executable code [28, 17, 9, 23] to the best of our knowledge, alias analysis carried out by these systems is limited to fairly simple local analysis. On the other hand, there is an extensive work on pointer alias analysis of various kinds [30, 27, 12, 8, 16]. However, in almost all cases, these are high level analyses carried out in terms of source language constructs that ignore features typically encountered in executable programs. As a result, such analyses are of limited utility at the machine code level. Amme et al. 2] present a general method ....
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN '01 Conference on Programming Language Design and Implementation, pages 47--58, June 2001.
....parameter that can be aliased to 100 distinct global arrays [39] There are three alternative categories of metrics, two static and one dynamic. The rst metric compares the static precision to worst case assumptions, be it using the direct method [51] or the results of dependence based queries [31]. This metric will be particularly useful in evaluating analyses for strongly typed languages such as Java, where worst case assumptions are not as bad as in C. The second alternative static metric is to implement a pointer analysis client and report its precision [90, 63, 3, 30, 20, 86, 95, 55, ....
....of dependence based queries [31] This metric will be particularly useful in evaluating analyses for strongly typed languages such as Java, where worst case assumptions are not as bad as in C. The second alternative static metric is to implement a pointer analysis client and report its precision [90, 63, 3, 30, 20, 86, 95, 55, 57, 40, 60, 31, 77]. The advantage of this metric is that it more clearly ascertains the e ectiveness of a pointer analysis for a particular client analysis. The limitation is that it only measures one client, and again, the importance of the static measure of the client may be questioned. Type inference attempts ....
[Article contains additional citation context not shown here]
R. Ghiya, D. Laverty, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN'01 Implementation, 20-22 June. To appear.
.... Results We have implemented the complete Data Structure Analysis algorithm in the LLVM Compiler Infrastructure, using a C front end based on GCC [14] The analysis is performed entirely at link time, using stubs for standard C library functions to reflect their aliasing behavior as in other work [3, 11]. We evaluated Data Structure Analysis on four sets of benchmark programs: the Olden benchmark suite, the ptrdist 1.1 benchmark suite, the SPEC 2000 integer benchmarks and a set of other, unbundled, programs. The Olden benchmarks are widely used pointer and recursion intensive codes [18, 2] ....
....thus the basic column of Table 2 is the baseline for all analyses. The basic algorithm uses purely local techniques to answer queries, and it thus limited to handling simple cases (e.g. A[1] does not alias A[2] We chose this strategy because it most closely models usage in a real compiler [11]. The results have several interesting aspects. First, we find that field sensitivity does not help the context insensitive St analysis significantly (even in cases where excessive node collapsing does not happen) it only improves 7 of the 29 programs by 10 or more. Context sensitivity helps ....
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN'01 conference on Programming language design and implementation, pages 47--58. ACM Press, 2001.
....at poor points to information as the source of imprecision in subsequent analyses. A recent experiment showed that distinguishing the individual fields of a structure, as opposed to treating the structure as a single object, yielded significantly better results for some compiler optimizations [12]. One study [27] examined the effects of improved points to information on compiler analyses such as live variable analysis as well as program slicing. The final results improved only marginally in the case of program slicing. Bent et al. 8] demonstrated the importance of accurate library ....
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the 2001.
....Much work has focused on poor points to information as the source of imprecision in analyses. A recent experiment showed that distinguishing the individual fields of a structure, as opposed to treating the structure as a whole, yielded significantly better results for some compiler optimizations [14]. One study [24] examined the effects of improved points to information on compiler 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 Factor of Improvement in Slice Size 0 10 20 30 40 50 60 70 80 90 100 Percentage ammp gap mesa Correspondence of Improvements in Function Pointer Data and ....
....has been suggested as one solution, however, our results consistent with previous work [9] showed that increased context sensitivity yields only insignificant improvements in slice sizes in general. Since distinguishing structure fields produced significant benefits for program optimization [14], examining the effects of field separation may be one way to improve slicing results. However, the flow sensitive dynamic data does approxi mate the separation of fields, and flow sensitivity still showed little improvement in general in our study. Since algorithmic improvements like ....
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 47--58, Snowbird, UT, June 2001.
No context found.
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN '01 Conference on Programming Language Design and Implementation, pages 47--58, June 2001.
No context found.
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In Proceedings of the ACM SIGPLAN'01 conference on Programming language design and implementation, pages 47--58. ACM Press, 2001.
No context found.
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In PLDI. ACM Press, 2001.
No context found.
Rakesh Ghiya, Daniel Lavery, and David Sehr. On the importance of points-to analysis and other memory disambiguation methods for c programs. In Proceedings of the ACM SIGPLAN'01 conference on Programming language design and implementation, pages 47--58. ACM Press, 2001.
No context found.
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In PLDI. ACM Press, 2001.
No context found.
R. Ghiya, D. Lavery, and D. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In PLDI. ACM Press, 2001.
No context found.
Rakesh Ghiya, Daniel Laverty, and David Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In PLDI [PLDI2001].
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC