summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2013-05-13 10:21:19 +0000
committerLang Hames <lhames@gmail.com>2013-05-13 10:21:19 +0000
commit67c09b3f885cd35db63237a7e7edac515bb4f2bd (patch)
tree3d62f2408d733b7fed9a33ef302d730769121cfe /llvm/lib/Target/ARM/ARMISelLowering.cpp
parent02240c5c02b45db1d3f4974d3f1dfda8ee0739bf (diff)
downloadbcm5719-llvm-67c09b3f885cd35db63237a7e7edac515bb4f2bd.tar.gz
bcm5719-llvm-67c09b3f885cd35db63237a7e7edac515bb4f2bd.zip
Correctly preserve the input chain for potential tailcall nodes whose
return values are bitcasts. The chain had previously been being clobbered with the entry node to the dag, which sometimes caused other code in the function to be erroneously deleted when tailcall optimization kicked in. <rdar://problem/13827621> llvm-svn: 181696
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index fd777323642..008edbe4a75 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -2147,7 +2147,7 @@ bool ARMTargetLowering::isUsedByReturnOnly(SDNode *N, SDValue &Chain) const {
Copy = *Copy->use_begin();
if (Copy->getOpcode() != ISD::CopyToReg || !Copy->hasNUsesOfValue(1, 0))
return false;
- Chain = Copy->getOperand(0);
+ TCChain = Copy->getOperand(0);
} else {
return false;
}
OpenPOWER on IntegriCloud