diff options
author | James Molloy <james.molloy@arm.com> | 2017-02-13 17:18:00 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2017-02-13 17:18:00 +0000 |
commit | 0ae22022354b074f78730056679dcc02635a76ca (patch) | |
tree | 983fcbc87370f70f469342bffd0de30d2785a535 /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | 7b7f40297f23cbadbdd7e267b7cbf71d6bb3f864 (diff) | |
download | bcm5719-llvm-0ae22022354b074f78730056679dcc02635a76ca.tar.gz bcm5719-llvm-0ae22022354b074f78730056679dcc02635a76ca.zip |
[ARM] Fix crash caused by r294945
I'd missed a creator of FCMP nodes - duplicateCmp().
Kindly and promptly reported by Gabor Ballabas, due to his CSiBE test suite.
llvm-svn: 294968
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index f85149bb1f6..4af346087aa 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -3812,10 +3812,12 @@ ARMTargetLowering::duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const { Cmp = Cmp.getOperand(0); Opc = Cmp.getOpcode(); if (Opc == ARMISD::CMPFP) - Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1)); + Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0), + Cmp.getOperand(1), Cmp.getOperand(2)); else { assert(Opc == ARMISD::CMPFPw0 && "unexpected operand of FMSTAT"); - Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0)); + Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0), + Cmp.getOperand(1)); } return DAG.getNode(ARMISD::FMSTAT, DL, MVT::Glue, Cmp); } |