• DocumentCode
    2705159
  • Title

    Practical and accurate low-level pointer analysis

  • Author

    Guo, Bolei ; Bridges, Matthew J. ; Triantafyllis, Spyridon ; Ottoni, Guilherme ; Raman, Easwaran ; August, David I.

  • Author_Institution
    Dept. of Comput. Sci., Princeton Univ., NJ, USA
  • fYear
    2005
  • fDate
    20-23 March 2005
  • Firstpage
    291
  • Lastpage
    302
  • Abstract
    Pointer analysis is traditionally performed once, early in the compilation process, upon an intermediate representation (IR) with source-code semantics. However, performing pointer analysis only once at this level imposes a phase-ordering constraint, causing alias information to become stale after subsequent code transformations. Moreover, high-level pointer analysis cannot be used at link time or run time, where the source code is unavailable. This paper advocates performing pointer analysis on a low-level intermediate representation. We present the first context-sensitive and partially flow-sensitive points-to analysis designed to operate at the assembly level. As we will demonstrate, low-level pointer analysis can be as accurate as high-level analysis. Additionally, our low-level pointer analysis also enables a quantitative comparison of propagating high-level pointer analysis results through subsequent code transformations, versus recomputing them at the low level. We show that, for C programs, the former practice is considerably less accurate than the latter.
  • Keywords
    C++ language; optimising compilers; source coding; storage allocation; C program; compilation process; context-sensitive analysis; intermediate representation; partially flow-sensitive analysis; phase-ordering constraint; pointer analysis; points-to analysis design; source-code semantics; Algorithm design and analysis; Assembly; Bridges; Computational complexity; Computer science; Information analysis; Optimizing compilers; Performance analysis; Scheduling; Tail;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2005. CGO 2005. International Symposium on
  • Print_ISBN
    0-7695-2298-X
  • Type

    conf

  • DOI
    10.1109/CGO.2005.27
  • Filename
    1402096