MATEC Web of Conferences (Jan 2018)

Research of Register Pressure Aware Loop Unrolling Optimizations for Compiler

  • Liu Xuehua,
  • Ding Liping,
  • Li Yanfeng,
  • Chen Guangxuan,
  • Du Jin

DOI
https://doi.org/10.1051/matecconf/201822803008
Journal volume & issue
Vol. 228
p. 03008

Abstract

Read online

Register pressure problem has been a known problem for compiler because of the mismatch between the infinite number of pseudo registers and the finite number of hard registers. Too heavy register pressure may results in register spilling and then leads to performance degradation. There are a lot of optimizations, especially loop optimizations suffer from register spilling in compiler. In order to fight register pressure and therefore improve the effectiveness of compiler, this research takes the register pressure into account to improve loop unrolling optimization during the transformation process. In addition, a register pressure aware transformation is able to reduce the performance overhead of some fine-grained randomization transformations which can be used to defend against ROP attacks. Experiments showed a peak improvement of about 3.6% and an average improvement of about 1% for SPEC CPU 2006 benchmarks and a peak improvement of about 3% and an average improvement of about 1% for the LINPACK benchmark.