Disable rematerialization in TwoAddressInstructionPass.
authorManman Ren <mren@apple.com>
Wed, 25 Jul 2012 18:28:13 +0000 (18:28 +0000)
committerManman Ren <mren@apple.com>
Wed, 25 Jul 2012 18:28:13 +0000 (18:28 +0000)
commitd68e8cda245269c032a692873dc8eb163fa6ef00
treed1f0c6987fb904ed8cb31ca343ae71e48571363d
parent9f14ed1c60a1f6e8ab434a85d2ba9d82bc125cf4
Disable rematerialization in TwoAddressInstructionPass.

It is redundant; RegisterCoalescer will do the remat if it can't eliminate
the copy. Collected instruction counts before and after this. A few extra
instructions are generated due to spilling but it is normal to see these kinds
of changes with almost any small codegen change, according to Jakob.

This also fixed rdar://11830760 where xor is expected instead of movi0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160749 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TwoAddressInstructionPass.cpp
test/CodeGen/X86/cmov.ll
test/CodeGen/X86/jump_sign.ll
test/CodeGen/X86/select.ll