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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 6859   EVT VT = N0.getValueType();
 6867     if (ISD::isBuildVectorAllZeros(N0.getNode()))
 6870       return N0;
 6875   if (N0.isUndef() && N1.isUndef())
 6878   if (N0.isUndef())
 6879     return N0;
 6883   ConstantSDNode *N0C = getAsNonOpaqueConstant(N0);
 6888   if (DAG.isConstantIntBuildVectorOrConstantInt(N0) &&
 6890     return DAG.getNode(ISD::XOR, DL, VT, N1, N0);
 6893     return N0;
 6899   if (SDValue RXOR = reassociateOps(ISD::XOR, DL, N0, N1, N->getFlags()))
 6903   unsigned N0Opcode = N0.getOpcode();
 6905   if (TLI.isConstTrueVal(N1.getNode()) && isSetCCEquivalent(N0, LHS, RHS, CC)) {
 6914         return DAG.getSetCC(SDLoc(N0), VT, LHS, RHS, NotCC);
 6916         return DAG.getSelectCC(SDLoc(N0), LHS, RHS, N0.getOperand(2),
 6916         return DAG.getSelectCC(SDLoc(N0), LHS, RHS, N0.getOperand(2),
 6917                                N0.getOperand(3), NotCC);
 6923   if (isOneConstant(N1) && N0Opcode == ISD::ZERO_EXTEND && N0.hasOneUse() &&
 6924       isSetCCEquivalent(N0.getOperand(0), LHS, RHS, CC)){
 6925     SDValue V = N0.getOperand(0);
 6926     SDLoc DL0(N0);
 6934   if (isOneConstant(N1) && VT == MVT::i1 && N0.hasOneUse() &&
 6936     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6936     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6946   if (isAllOnesConstant(N1) && N0.hasOneUse() &&
 6948     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6948     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6961   if (isAllOnesConstant(N1) && N0.getOpcode() == ISD::SUB &&
 6962       isNullConstant(N0.getOperand(0))) {
 6963     return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1),
 6968   if (N0Opcode == ISD::AND && N0.hasOneUse() && N0->getOperand(1) == N1) {
 6968   if (N0Opcode == ISD::AND && N0.hasOneUse() && N0->getOperand(1) == N1) {
 6969     SDValue X = N0.getOperand(0);
 6975   if ((N0Opcode == ISD::SRL || N0Opcode == ISD::SHL) && N0.hasOneUse()) {
 6977     ConstantSDNode *ShiftC = isConstOrConstSplat(N0.getOperand(1));
 6990           SDValue Not = DAG.getNOT(DL, N0.getOperand(0), VT);
 6991           return DAG.getNode(N0Opcode, DL, VT, Not, N0.getOperand(1));
 6999     SDValue A = N0Opcode == ISD::ADD ? N0 : N1;
 7000     SDValue S = N0Opcode == ISD::SRA ? N0 : N1;
 7014   if (N0 == N1)
 7036       isAllOnesConstant(N1) && isOneConstant(N0.getOperand(0))) {
 7038                        N0.getOperand(1));