Fix pr4843: When an instruction has multiple destination registers that are
authorBob Wilson <bob.wilson@apple.com>
Tue, 1 Sep 2009 04:18:40 +0000 (04:18 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 1 Sep 2009 04:18:40 +0000 (04:18 +0000)
commit71124f698befddb89309758f4aa171e11b9beff3
treebf511efdbeb7cf31489194f414bf344dbb3f9d04
parentefbb5330b8d383a393c83d2da5d631c98b0bb3fd
Fix pr4843: When an instruction has multiple destination registers that are
tied to different source registers, the TwoAddressInstructionPass needs to
be smarter.  Change it to check before replacing a source register whether
that source register is tied to a different destination register, and if so,
defer handling it until a subsequent iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80654 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TwoAddressInstructionPass.cpp
test/CodeGen/ARM/2009-08-31-TwoRegShuffle.ll [new file with mode: 0644]