Bottom up register-pressure reduction scheduler now pushes store operations
authorEvan Cheng <evan.cheng@apple.com>
Mon, 1 May 2006 09:14:40 +0000 (09:14 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 1 May 2006 09:14:40 +0000 (09:14 +0000)
commitf229a5d4beffae21e89481cb93c874ac5a149c2d
treebab51a9496e824cde034ea34dd797ab21655b8fb
parent6f6360d9abe3726d343b5641acb43bbc296bc8db
Bottom up register-pressure reduction scheduler now pushes store operations
up the schedule. This helps code that looks like this:

loads ...
computations (first set) ...
stores (first set) ...
loads
computations (seccond set) ...
stores (seccond set) ...

Without this change, the stores and computations are more likely to
interleave:

loads ...
loads ...
computations (first set) ...
computations (second set) ...
computations (first set) ...
stores (first set) ...
computations (second set) ...
stores (stores set) ...

This can increase the number of spills if we are unlucky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28033 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp