Fix a post-RA scheduling liveness bug. When a basic block is being
authorDan Gohman <gohman@apple.com>
Tue, 10 Mar 2009 18:10:43 +0000 (18:10 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 10 Mar 2009 18:10:43 +0000 (18:10 +0000)
commit1274ced8a3f0fd1e9a6f7c7e17d69368c4f78b90
treedf7d0960d110b797bd8707ac74ceafc0e7df0864
parent9200c89968e52a590ee0b96092a0a589aa138a6f
Fix a post-RA scheduling liveness bug. When a basic block is being
scheduled in multiple regions, liveness data used by the
anti-dependence breaker is carried from one region to the next, however
the information reflects the state of the instructions before scheduling.
After scheduling, there may be new live range overlaps. Handle this by
pessimizing the liveness data carried between regions to the point where
it will be conservatively correct now matter how the earlier region is
scheduled. This fixes a miscompilation in 176.gcc with the post-RA
scheduler enabled.

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