Register allocation passes


I’m trying the pass of llc --enable-ipra with benchmarks SPEC CPU 2017.

I compile this benchmarks with clang -O3, and after, y run llc -O3 -enable-ipra.

However, this pass seems not work. If I count the number of mov operations using -enable-ipra or not, I don’t get a significant difference.

Why doesn’t this pass work?

I also want to know where I can find some documentations about “post-RA-scheduler” and “pre-RA-sched=list-ilp” passes of llc.


In practice we found that IPRA does not find much opportunity of improvement on X86-64. It is of course very specific to each use-cases, and works better with LTO.