Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 1 Sep 2010 22:15:35 +0000 (22:15 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 1 Sep 2010 22:15:35 +0000 (22:15 +0000)
commit0077114efc8c1680e58980d05606ada2708c4295
treec2b1c9d9eb5bf1869c1a0c410b8fa3f8149b628d
parenta314afe6582302d1764d1b85557ec47174acd60f
Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.

This caused a miscompilation in WebKit where %RAX had conflicting defs when
RemoveCopyByCommutingDef was commuting a %EAX use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112751 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SimpleRegisterCoalescing.cpp
test/CodeGen/X86/2010-09-01-RemoveCopyByCommutingDef.ll [new file with mode: 0644]