aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-05-18 18:59:17 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-05-18 18:59:17 +0000
commitb936e3006f04f60aca4c4de4a3604ec141ab0a45 (patch)
treecf55e959a63b88eb33a7180405211c7b6175a9b1
parentd48fda46f5b65f87e92a2bb94a722417bd5cc758 (diff)
Revise r131553. Just use the type of the input node and forgo the bitcast. rdar://9449159.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131555 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index ef399b65fb..94f220baf0 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -2693,13 +2693,12 @@ SDValue ARMTargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
}
if (True.getNode() && False.getNode()) {
- EVT VT = Cond.getValueType();
+ EVT VT = Op.getValueType();
SDValue ARMcc = Cond.getOperand(2);
SDValue CCR = Cond.getOperand(3);
SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG);
- return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(),
- DAG.getNode(ARMISD::CMOV, dl, VT, True, False,
- ARMcc, CCR, Cmp));
+ assert(True.getValueType() == VT);
+ return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp);
}
}
}