reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
36815   if (SDValue V = DAG.simplifySelect(Cond, LHS, RHS))
36818   EVT VT = LHS.getValueType();
36827       return DAG.getVectorShuffle(VT, DL, LHS, RHS, Mask);
36844     if (DAG.isEqualTo(LHS, Cond.getOperand(0)) &&
36852         if (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS)) {
36854               !(DAG.isKnownNeverZeroFloat(LHS) ||
36857           std::swap(LHS, RHS);
36865             !DAG.isKnownNeverZeroFloat(LHS) && !DAG.isKnownNeverZeroFloat(RHS))
36872         std::swap(LHS, RHS);
36884             !DAG.isKnownNeverZeroFloat(LHS) && !DAG.isKnownNeverZeroFloat(RHS))
36892         if (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS)) {
36894               !(DAG.isKnownNeverZeroFloat(LHS) ||
36897           std::swap(LHS, RHS);
36904         std::swap(LHS, RHS);
36913     } else if (DAG.isEqualTo(LHS, Cond.getOperand(1)) &&
36922             !(DAG.isKnownNeverZeroFloat(LHS) ||
36924           if (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS))
36926           std::swap(LHS, RHS);
36933             (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS)))
36940         std::swap(LHS, RHS);
36950         if (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS))
36959             !DAG.isKnownNeverZeroFloat(LHS) &&
36961           if (!DAG.isKnownNeverNaN(LHS) || !DAG.isKnownNeverNaN(RHS))
36963           std::swap(LHS, RHS);
36970         std::swap(LHS, RHS);
36981       return DAG.getNode(Opcode, DL, N->getValueType(0), LHS, RHS);
36999       return DAG.getNode(ISD::SELECT, DL, VT, AndNode, RHS, LHS);
37015     return DAG.getNode(N->getOpcode(), DL, VT, Cond, LHS, RHS);
37032     bool SelectableLHS = SelectableOp(LHS);
37034     bool ZeroLHS = ISD::isBuildVectorAllZeros(LHS.getNode());
37038       EVT SrcVT = SelectableLHS ? LHS.getOperand(0).getValueType()
37042       LHS = insertSubVector(DAG.getUNDEF(SrcVT), LHS, 0, DAG, DL,
37042       LHS = insertSubVector(DAG.getUNDEF(SrcVT), LHS, 0, DAG, DL,
37049       SDValue Res = DAG.getSelect(DL, SrcVT, Cond, LHS, RHS);
37074       DAG.isEqualTo(LHS, Cond.getOperand(0)) &&
37084       return DAG.getSelect(DL, VT, Cond, LHS, RHS);
37101     if (ISD::isBuildVectorAllZeros(LHS.getNode())) {
37105       Other = LHS;
37173     if (ISD::isBuildVectorAllOnes(LHS.getNode())) {
37177       Other = LHS;
37228                          DAG.getBitcast(CondVT, CondNot), RHS, LHS);
37232     LHS = DAG.getBitcast(MVT::i64, LHS);
37232     LHS = DAG.getBitcast(MVT::i64, LHS);
37234     SDValue newSelect = DAG.getNode(ISD::SELECT, DL, MVT::i64, Cond, LHS, RHS);