diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-07-10 22:42:53 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-07-10 22:42:53 +0000 |
commit | c0075cce7cf6682af8a09126709106866b2f5971 (patch) | |
tree | 473f3bff12029c08fd281fcd5a0dbe73e7150bea /lib/CodeGen/TwoAddressInstructionPass.cpp | |
parent | a8dab36f3dfdfcd3f74224afa4ffb32776674c93 (diff) |
Only collect subreg extracting copies for later coalescing.
This also avoids fatal copies from physregs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108061 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/TwoAddressInstructionPass.cpp')
-rw-r--r-- | lib/CodeGen/TwoAddressInstructionPass.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp index 00dec66dca..681473ba79 100644 --- a/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -1434,7 +1434,7 @@ bool TwoAddressInstructionPass::EliminateRegSequences() { IsImpDef = false; // Remember COPY sources. These might be candidate for coalescing. - if (DefMI->isCopy()) + if (DefMI->isCopy() && DefMI->getOperand(1).getSubReg()) RealSrcs.push_back(DefMI->getOperand(1).getReg()); if (!Seen.insert(SrcReg) || |