Properly model the latency of register defs which are 1) function returns or
authorEvan Cheng <evan.cheng@apple.com>
Sat, 23 Oct 2010 02:10:46 +0000 (02:10 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 23 Oct 2010 02:10:46 +0000 (02:10 +0000)
commitec6906ba47d6d32cc817e85eddb87b320d6ae18c
tree838fc08e4513b0a5f6846a13e69f179902a09763
parentdd9dd6f857604abdeb5213648ffe50c10ccc59b9
Properly model the latency of register defs which are 1) function returns or
2) live-outs.

Previously the post-RA schedulers completely ignore these dependencies since
returns, branches, etc. are all scheduling barriers. This patch model the
latencies between instructions being scheduled and the barriers. It also
handle calls by marking their register uses.

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