Associative Instruction Reordering to Alleviate Register Pressure
Associative Instruction Reordering to Alleviate Register Pressure
复制标题
关联指令重新排序以减轻寄存器压力
DOI:
--
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
P. Sadayappan
中科院分区:
文献类型:
--
作者:
P. Rawat;Aravind Sukumaran;A. Rountev;F. Rastello;L. Pouchet;P. Sadayappan;P. Sadayappan
Register allocation is generally considered a practically solved problem. For most applications, the register allocation strategies in production compilers are very effective in controlling the number of loads/stores and register spills. However, existing register allocation strategies are not effective and result in excessive register spilling for computation patterns with a high degree of many-to-many data reuse, e.g., high-order stencils and tensor contractions. We develop a source-to-source instruction reordering strategy that exploits the flexibility of reordering associative operations to alleviate register pressure. The developed transformation module implements an adaptable strategy that can appropriately control the degree of instruction- level parallelism, while relieving register pressure. The effectiveness of the approach is demonstrated through experimental results using multiple production compilers (GCC, Clang/LLVM) and target platforms (Intel Xeon Phi, and Intel x86 multi-core).