Associative Instruction Reordering to Alleviate Register Pressure

Abstract : 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).
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/hal-01956260
Contributor : Fabrice Rastello <>
Submitted on : Saturday, December 15, 2018 - 10:05:51 AM
Last modification on : Thursday, February 7, 2019 - 3:38:37 PM
Long-term archiving on : Saturday, March 16, 2019 - 1:23:29 PM

File

sc18-hal.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01956260, version 1

Collections

Citation

Prashant Singh Rawat, Aravind Sukumaran-Rajam, Atanas Rountev, Fabrice Rastello, Louis-Noël Pouchet, et al.. Associative Instruction Reordering to Alleviate Register Pressure. SC 2018 - International Conference for High Performance Computing, Networking, Storage, and Analysis, Nov 2018, Dallas, United States. pp.1-13. ⟨hal-01956260⟩

Share

Metrics

Record views

33

Files downloads

101