summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-10 22:42:53 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-10 22:42:53 +0000
commitad89613b650f8f043bfaa46eecc477809772623a (patch)
treeb82e0340144bf2fbd38133fc7b030bb399b51412 /llvm/lib
parenta64a3235649f3511e6b93bb20939ec7feeced4c4 (diff)
downloadbcm5719-llvm-ad89613b650f8f043bfaa46eecc477809772623a.tar.gz
bcm5719-llvm-ad89613b650f8f043bfaa46eecc477809772623a.zip
Only collect subreg extracting copies for later coalescing.
This also avoids fatal copies from physregs. llvm-svn: 108061
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/TwoAddressInstructionPass.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
index 00dec66dcaf..681473ba795 100644
--- a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/llvm/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) ||
OpenPOWER on IntegriCloud