[llvm-dev] Register Spill Caused by the Reassociation pass
Haicheng Wu via llvm-dev
llvm-dev at lists.llvm.org
Thu Oct 1 08:10:27 PDT 2015
I observed some extra register spills when applying the reassociation pass
on spec2006 benchmarks and I would like to listen to your advice.
For example, function get_new_point_on_quad() of tria_boundary.cc in
spec2006/dealII has a sequences of code like this
There are many other instructions between these float adds. The
reassociation pass first swaps a and c when checking the second add, and
then swaps a and d when checking the third add. The transformed code looks
a is pushed all the way down to the bottom and its live range is much larger
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev