Factor out more code for computing register live-range informationfor
authorDan Gohman <gohman@apple.com>
Tue, 10 Feb 2009 23:27:53 +0000 (23:27 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 10 Feb 2009 23:27:53 +0000 (23:27 +0000)
commit9e64bbb322417c09f27afdf08e3946287c9df5aa
tree0f45649b9b97d56f71574d34dbaa1e9efe3ea096
parent0464a1431b79ed2be54413de239347c56ad84bfa
Factor out more code for computing register live-range informationfor
scheduling, and generalize is so that preserves state across
scheduling regions. This fixes incorrect live-range information around
terminators and labels, which are effective region boundaries.

In place of looking for terminators to anchor inter-block dependencies,
introduce special entry and exit scheduling units for this purpose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64254 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/PostRASchedulerList.cpp
lib/CodeGen/ScheduleDAG.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/ScheduleDAGInstrs.h
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp