Lines Matching refs:BVN
3829 // Try to represent constant BUILD_VECTOR node BVN using a
3832 static bool tryBuildVectorByteMask(BuildVectorSDNode *BVN, uint64_t &Mask) {
3833 EVT ElemVT = BVN->getValueType(0).getVectorElementType();
3835 for (unsigned I = 0, E = BVN->getNumOperands(); I != E; ++I) {
3836 SDValue Op = BVN->getOperand(I);
3902 BuildVectorSDNode *BVN) {
3903 EVT VT = BVN->getValueType(0);
3914 SDValue Op = BVN->getOperand(I);
3926 ResidueOps.push_back(BVN->getOperand(I));
3940 Op = DAG.getNode(ISD::BUILD_VECTOR, SDLoc(BVN), VT, ResidueOps);
3945 return GS.getNode(DAG, SDLoc(BVN));
4070 auto *BVN = cast<BuildVectorSDNode>(Op.getNode());
4074 if (BVN->isConstant()) {
4079 if (tryBuildVectorByteMask(BVN, Mask)) {
4089 if (BVN->isConstantSplat(SplatBits, SplatUndef, SplatBitSize, HasAnyUndefs,
4123 SDValue Res = tryBuildVectorShuffle(DAG, BVN);
4265 if (auto *BVN = dyn_cast<BuildVectorSDNode>(Op1)) {
4271 if (BVN->isConstantSplat(SplatBits, SplatUndef, SplatBitSize, HasAnyUndefs,
4280 SDValue Splat = BVN->getSplatValue(&UndefElements);