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 | 4eca660c9f8861c84330761679a71b5978d3ccf2 (patch) | |
tree | 473f3bff12029c08fd281fcd5a0dbe73e7150bea /lib/CodeGen | |
parent | 41989a808cb7b72fbea814e8b9bca0df8606acd8 (diff) | |
download | external_llvm-4eca660c9f8861c84330761679a71b5978d3ccf2.tar.gz external_llvm-4eca660c9f8861c84330761679a71b5978d3ccf2.tar.bz2 external_llvm-4eca660c9f8861c84330761679a71b5978d3ccf2.zip |
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')
-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) || |