When scheduling a block in parts, keep track of the overall
authorDan Gohman <gohman@apple.com>
Wed, 11 Feb 2009 04:27:20 +0000 (04:27 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 11 Feb 2009 04:27:20 +0000 (04:27 +0000)
commit47ac0f0c7c39289f5970688154e385be22b7f293
treeb5171c709044c112ff2b4c1ebd44d1cd1f5f89f4
parentca70533d3daeda66f6a0f19faf6691c20b34d086
When scheduling a block in parts, keep track of the overall
instruction index across each part. Instruction indices are used
to make live range queries, and live ranges can extend beyond
scheduling region boundaries.

Refactor the ScheduleDAGSDNodes class some more so that it
doesn't have to worry about this additional information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64288 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/llvm/CodeGen/ScheduleDAG.h
include/llvm/CodeGen/SchedulerRegistry.h
include/llvm/CodeGen/SelectionDAGISel.h
lib/CodeGen/PostRASchedulerList.cpp
lib/CodeGen/ScheduleDAG.cpp
lib/CodeGen/ScheduleDAGEmit.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/ScheduleDAGInstrs.h
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp