• DocumentCode
    1902131
  • Title

    Query-directed adaptive heap cloning for optimizing compilers

  • Author

    Yulei Sui ; Yue Li ; Jingling Xue

  • Author_Institution
    Program. Languages & Compilers Group, Univ. of New South Wales, Sydney, NSW, Australia
  • fYear
    2013
  • fDate
    23-27 Feb. 2013
  • Firstpage
    1
  • Lastpage
    11
  • Abstract
    Andersen´s pointer analysis becomes more precise when applied with full heap cloning but unscalable for large, heap-intensive programs. In contrast, k-callsite-sensitive heap cloning can be faster but less precise for some programs. In this paper, we make one step forward by enhancing Andersen´s analysis with QUery-Directed Adaptive (QUDA) heap cloning for optimizing compilers. The novelty of our analysis, called QUDA, lies in performing k-callsite-sensitive heap cloning iteratively, starting with k = 0 (without heap cloning), so that an abstract heap object is cloned at iteration k = i + 1 only if some mayalias queries that are not answered positively at iteration k = i may now be answered more precisely. QUDA, which is implemented in Open64, has the same precision as the state-of-the-art, FULCRA, a version of QUDA with exhaustive heap cloning, but is significantly more scalable. For 10 SPEC2000 C benchmarks and 5 C applications (totalling 840 KLOC) evaluated, QUDA takes only 4+ minutes but exhaustive heap cloning takes 42+ minutes to complete. QUDA takes only 75.1 % of the time that Open64 takes on average to compile these 15 programs under “-O2”.
  • Keywords
    C language; optimising compilers; public domain software; query processing; C applications; FULCRA; KLOC; O2; Open64; QUDA heap cloning; SPEC2000 C benchmarks; abstract heap object cloning; heap-intensive programs; k-callsite-sensitive heap cloning; optimizing compilers; pointer analysis; query answering; query-directed adaptive heap cloning; Abstracts; Cloning; Computer languages; Context; Optimizing compilers; Resource management; Pointer analysis; heap cloning;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
  • Conference_Location
    Shenzhen
  • Print_ISBN
    978-1-4673-5524-7
  • Type

    conf

  • DOI
    10.1109/CGO.2013.6494978
  • Filename
    6494978