Teach two-address pass to re-schedule two-address instructions (or the kill
authorEvan Cheng <evan.cheng@apple.com>
Mon, 14 Nov 2011 19:48:55 +0000 (19:48 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 14 Nov 2011 19:48:55 +0000 (19:48 +0000)
commit2a4410df44cd710e20b3f12873c35405830d66fb
tree54cfc0134dfb9db90186e24b78f23932a37edf8b
parenta77214a4c43d7a0c49c348439c6887f28bd6d53d
Teach two-address pass to re-schedule two-address instructions (or the kill
instructions of the two-address operands) in order to avoid inserting copies.
This fixes the few regressions introduced when the two-address hack was
disabled (without regressing the improvements).
rdar://10422688

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144559 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TwoAddressInstructionPass.cpp
test/CodeGen/X86/iv-users-in-other-loops.ll
test/CodeGen/X86/lsr-reuse-trunc.ll
test/CodeGen/X86/sse3.ll