diff options
author | Dan Gohman <gohman@apple.com> | 2009-03-10 18:10:43 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-03-10 18:10:43 +0000 |
commit | 1274ced8a3f0fd1e9a6f7c7e17d69368c4f78b90 (patch) | |
tree | df7d0960d110b797bd8707ac74ceafc0e7df0864 /lib/VMCore/PassManager.cpp | |
parent | 9200c89968e52a590ee0b96092a0a589aa138a6f (diff) |
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
Diffstat (limited to 'lib/VMCore/PassManager.cpp')
0 files changed, 0 insertions, 0 deletions