Teach machine sink to

1) Do forward copy propagation. This makes it easier to estimate the cost of the
   instruction being sunk.
2) Break critical edges on demand, including cases where the value is used by
   PHI nodes.
Critical edge splitting is not yet enabled by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114227 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2010-09-17 22:28:18 +00:00
parent a5b1e68107
commit 6edb0eac87
4 changed files with 227 additions and 77 deletions

View File

@@ -1,4 +1,4 @@
; RUN: llc < %s -march=x86 -stats |& not grep machine-sink
; RUN: llc < %s -march=x86 -stats |& not grep {instructions sunk}
; PR3522
target triple = "i386-pc-linux-gnu"