跳到主要导航 跳到搜索 跳到主要内容

Parallel construction of interprocedural memory SSA form

  • Yulei Sui*
  • , Hua Yan
  • , Zheng Zheng
  • , Yunpeng Zhang
  • , Jingling Xue
  • *此作品的通讯作者

科研成果: 期刊稿件文章同行评审

摘要

Interprocedural memory SSA form, which provides a sparse data-flow representation for indirect memory operations, paves the way for many advanced program analyses. Any performance improvement for memory SSA construction benefits for a wide range of clients (e.g., bug detection and compiler optimisations). However, its construction is much more expensive than that for scalar-based SSA form. The memory objects distinguished at a pointer dereference significantly increases the number of variables that need to be put on SSA form, resulting in considerable analysis overhead when analyzing large programs (e.g., millions of lines of code). This paper presents PARSSA, a fully parameterised approach for parallel construction of interprocedural memory SSA form by utilising multi-core computing resources. PARSSA partitions whole-program memory objects into uniquely identified memory regions. The indirect memory accesses in a function are fully parameterised using partitioned memory regions, so that the memory SSA construction of a parameterised function is readily parallelised. We implemented PARSSA in LLVM using Intel Threading Building Block (TBB) for creating parallel tasks. We evaluated PARSSA using 15 large applications. PARSSA achieves up to 6.9 × speedup against the sequential version on an 8-core machine.

源语言英语
页(从-至)186-195
页数10
期刊Journal of Systems and Software
146
DOI
出版状态已出版 - 12月 2018

指纹

探究 'Parallel construction of interprocedural memory SSA form' 的科研主题。它们共同构成独一无二的指纹。

引用此