reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3323 if (N0.isUndef() || N1.isUndef()) 3337 N1IsConst = ISD::isConstantSplatVector(N1.getNode(), ConstValue1); 3350 N1IsConst = isa<ConstantSDNode>(N1); 3352 ConstValue1 = cast<ConstantSDNode>(N1)->getAPIntValue(); 3353 N1IsOpaqueConst = cast<ConstantSDNode>(N1)->isOpaque(); 3360 N0.getNode(), N1.getNode()); 3364 !DAG.isConstantIntBuildVectorOrConstantInt(N1)) 3365 return DAG.getNode(ISD::MUL, SDLoc(N), VT, N1, N0); 3368 return N1; 3383 if (isConstantOrConstantVector(N1, /*NoOpaques*/ true) && 3384 DAG.isKnownToBeAPowerOfTwo(N1) && 3387 SDValue LogBase2 = BuildLogBase2(N1, DL); 3412 if (N1IsConst && TLI.decomposeMulByConstant(*DAG.getContext(), VT, N1)) { 3440 isConstantOrConstantVector(N1, /* NoOpaques */ true) && 3442 SDValue C3 = DAG.getNode(ISD::SHL, SDLoc(N), VT, N1, N0.getOperand(1)); 3456 Sh = N0; Y = N1; 3457 } else if (N1.getOpcode() == ISD::SHL && 3458 isConstantOrConstantVector(N1.getOperand(1)) && 3459 N1.getNode()->hasOneUse()) { 3460 Sh = N1; Y = N0; 3470 if (DAG.isConstantIntBuildVectorOrConstantInt(N1) && 3473 isMulAddWithConstProfitable(N, N0, N1)) 3476 N0.getOperand(0), N1), 3477 DAG.getNode(ISD::MUL, SDLoc(N1), VT, 3478 N0.getOperand(1), N1)); 3481 if (SDValue RMUL = reassociateOps(ISD::MUL, SDLoc(N), N0, N1, N->getFlags()))