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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 3320   EVT VT = N0.getValueType();
 3323   if (N0.isUndef() || N1.isUndef())
 3336     N0IsConst = ISD::isConstantSplatVector(N0.getNode(), ConstValue0);
 3345     N0IsConst = isa<ConstantSDNode>(N0);
 3347       ConstValue0 = cast<ConstantSDNode>(N0)->getAPIntValue();
 3348       N0IsOpaqueConst = cast<ConstantSDNode>(N0)->isOpaque();
 3360                                       N0.getNode(), N1.getNode());
 3363   if (DAG.isConstantIntBuildVectorOrConstantInt(N0) &&
 3365     return DAG.getNode(ISD::MUL, SDLoc(N), VT, N1, N0);
 3371     return N0;
 3380                        DAG.getConstant(0, DL, VT), N0);
 3388     EVT ShiftVT = getShiftAmountTy(N0.getValueType());
 3390     return DAG.getNode(ISD::SHL, DL, VT, N0, Trunc);
 3400                        DAG.getNode(ISD::SHL, DL, VT, N0,
 3402                                       getShiftAmountTy(N0.getValueType()))));
 3430           DAG.getNode(ISD::SHL, DL, VT, N0, DAG.getConstant(ShAmt, DL, VT));
 3431       SDValue R = DAG.getNode(MathOp, DL, VT, Shl, N0);
 3439   if (N0.getOpcode() == ISD::SHL &&
 3441       isConstantOrConstantVector(N0.getOperand(1), /* NoOpaques */ true)) {
 3442     SDValue C3 = DAG.getNode(ISD::SHL, SDLoc(N), VT, N1, N0.getOperand(1));
 3444       return DAG.getNode(ISD::MUL, SDLoc(N), VT, N0.getOperand(0), C3);
 3453     if (N0.getOpcode() == ISD::SHL &&
 3454         isConstantOrConstantVector(N0.getOperand(1)) &&
 3455         N0.getNode()->hasOneUse()) {
 3456       Sh = N0; Y = N1;
 3460       Sh = N1; Y = N0;
 3471       N0.getOpcode() == ISD::ADD &&
 3472       DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1)) &&
 3473       isMulAddWithConstProfitable(N, N0, N1))
 3475                          DAG.getNode(ISD::MUL, SDLoc(N0), VT,
 3476                                      N0.getOperand(0), N1),
 3478                                      N0.getOperand(1), N1));
 3481   if (SDValue RMUL = reassociateOps(ISD::MUL, SDLoc(N), N0, N1, N->getFlags()))