| /openbsd-src/gnu/llvm/llvm/lib/Target/Mips/ |
| H A D | MipsSEISelDAGToDAG.cpp | 521 APInt SplatValue, SplatUndef; in selectVSplat() local 525 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat() 529 Imm = SplatValue; in selectVSplat() 1090 APInt SplatValue, SplatUndef; in trySelect() local 1100 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in trySelect() 1132 if (SplatValue.isSignedIntN(10)) { in trySelect() 1133 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in trySelect() 1137 } else if (SplatValue.isSignedIntN(16) && in trySelect() 1161 const unsigned Lo = SplatValue.getLoBits(16).getZExtValue(); in trySelect() 1167 } else if (SplatValue.isSignedIntN(32) && SplatBitSize == 32) { in trySelect() [all …]
|
| H A D | MipsISelDAGToDAG.cpp | 237 APInt SplatValue, SplatUndef; in selectVecAddAsVecSubIfProfitable() local 241 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVecAddAsVecSubIfProfitable() 247 if (IsInlineConstant(SplatValue)) in selectVecAddAsVecSubIfProfitable() 250 APInt NegSplatValue = 0 - SplatValue; in selectVecAddAsVecSubIfProfitable()
|
| H A D | MipsSEISelLowering.cpp | 533 APInt SplatValue, SplatUndef; in isVSplat() local 537 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in isVSplat() 541 Imm = SplatValue; in isVSplat() 558 APInt SplatValue, SplatUndef; in isVectorAllOnes() local 564 if (BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs)) in isVectorAllOnes() 565 return SplatValue.isAllOnes(); in isVectorAllOnes() 842 APInt SplatValue, SplatUndef; in performDSPShiftCombine() local 852 !BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in performDSPShiftCombine() 855 (SplatValue.getZExtValue() >= EltSize)) in performDSPShiftCombine() 860 DAG.getConstant(SplatValue.getZExtValue(), DL, MVT::i32)); in performDSPShiftCombine() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/GlobalISel/ |
| H A D | Utils.cpp | 1016 int SplatValue = *FirstDefinedIdx; in getSplatIndex() local 1018 [&SplatValue](int Elt) { return Elt >= 0 && Elt != SplatValue; })) in getSplatIndex() 1021 return SplatValue; in getSplatIndex() 1075 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1077 return mi_match(SplatValAndReg->VReg, MRI, m_SpecificICst(SplatValue)); in isBuildVectorConstantSplat() 1083 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1084 return isBuildVectorConstantSplat(MI.getOperand(0).getReg(), MRI, SplatValue, in isBuildVectorConstantSplat()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | LoopIdiomRecognize.cpp | 523 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in isLegalStore() local 530 if (!UnorderedAtomic && HasMemset && SplatValue && !DisableLIRP::Memset && in isLegalStore() 533 CurLoop->isLoopInvariant(SplatValue)) { in isLegalStore() 992 Value *SplatValue = MSI->getValue(); in processLoopMemSet() local 993 if (!SplatValue || !CurLoop->isLoopInvariant(SplatValue)) in processLoopMemSet() 999 MSI->getDestAlign(), SplatValue, MSI, MSIs, Ev, in processLoopMemSet() 1104 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in processLoopStridedStore() local 1107 if (!SplatValue) in processLoopStridedStore() 1110 assert((SplatValue || PatternValue) && in processLoopStridedStore() 1174 if (SplatValue) { in processLoopStridedStore() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | Utils.h | 404 int64_t SplatValue, bool AllowUndef); 410 int64_t SplatValue, bool AllowUndef);
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.cpp | 735 auto *SplatValue = in instCombineSVECmpNE() local 737 if (!SplatValue || !SplatValue->isZero()) in instCombineSVECmpNE() 1241 auto *SplatValue = getSplatValue(I); in instCombineSVEVectorMul() local 1242 if (!SplatValue) in instCombineSVEVectorMul() 1244 return match(SplatValue, m_FPOne()) || match(SplatValue, m_One()); in instCombineSVEVectorMul() 1254 auto *SplatValue = IntrI->getOperand(2); in instCombineSVEVectorMul() local 1255 return match(SplatValue, m_FPOne()) || match(SplatValue, m_One()); in instCombineSVEVectorMul() 1307 auto *SplatValue = dyn_cast_or_null<ConstantInt>(getSplatValue(OpIndices)); in instCombineSVETBL() local 1308 if (!SplatValue || in instCombineSVETBL() 1309 SplatValue->getValue().uge(VTy->getElementCount().getKnownMinValue())) in instCombineSVETBL() [all …]
|
| H A D | AArch64ISelLowering.cpp | 17680 APInt SplatValue, SplatUndef; in tryCombineShiftImm() local 17683 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in tryCombineShiftImm() 17688 ShiftAmount = SplatValue.getSExtValue(); in tryCombineShiftImm()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyISelLowering.cpp | 2055 SDValue SplatValue; in LowerBUILD_VECTOR() local 2057 std::tie(SplatValue, NumSplatLanes) = GetMostCommon(SplatValueCounts); in LowerBUILD_VECTOR() 2170 Result = DAG.getSplatBuildVector(VecT, DL, SplatValue); in LowerBUILD_VECTOR() 2171 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() 2172 return Lane == SplatValue; in LowerBUILD_VECTOR() 2450 APInt SplatValue, SplatUndef; in performVectorTruncZeroCombine() local 2454 Splat->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in performVectorTruncZeroCombine() 2456 SplatValue == 0; in performVectorTruncZeroCombine()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| H A D | SelectionDAGNodes.h | 91 bool isConstantSplatVector(const SDNode *N, APInt &SplatValue); 2006 bool isConstantSplat(APInt &SplatValue, APInt &SplatUndef,
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.cpp | 2599 uint64_t SplatValue = 0; in lowerBUILD_VECTOR() local 2604 SplatValue |= ((cast<ConstantSDNode>(SeqV)->getZExtValue() & EltMask) in lowerBUILD_VECTOR() 2612 SplatValue = SignExtend64<32>(SplatValue); in lowerBUILD_VECTOR() 2620 if (ViaIntVT.bitsLE(XLenVT) || isInt<32>(SplatValue)) { in lowerBUILD_VECTOR() 2628 DAG.getConstant(SplatValue, DL, XLenVT), ViaVL); in lowerBUILD_VECTOR() 3467 if (SDValue SplatValue = DAG.getSplatValue(V1, /*LegalTypes*/ true)) { in lowerVECTOR_SHUFFLE() local 3468 Gather = lowerScalarSplat(SDValue(), SplatValue, VL, ContainerVT, DL, DAG, in lowerVECTOR_SHUFFLE() 7007 SDValue SplatValue = DAG.getConstant( in lowerVPExtMaskOp() local 7010 DAG.getUNDEF(ContainerVT), SplatValue, VL); in lowerVPExtMaskOp()
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | SelectionDAG.cpp | 11697 bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue, APInt &SplatUndef, in isConstantSplat() argument 11710 SplatValue = APInt(VecWidth, 0); in isConstantSplat() 11729 SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltWidth), BitPos); in isConstantSplat() 11731 SplatValue.insertBits(CN->getValueAPF().bitcastToAPInt(), BitPos); in isConstantSplat() 11743 APInt HighValue = SplatValue.extractBits(HalfSize, HalfSize); in isConstantSplat() 11744 APInt LowValue = SplatValue.extractBits(HalfSize, 0); in isConstantSplat() 11753 SplatValue = HighValue | LowValue; in isConstantSplat()
|
| H A D | DAGCombiner.cpp | 6398 APInt SplatValue, SplatUndef; in visitAND() local 6401 bool IsSplat = Vector->isConstantSplat(SplatValue, SplatUndef, in visitAND() 6406 SplatValue |= SplatUndef; in visitAND() 6418 for (SplatValue = SplatValue.zextOrTrunc(EltBitWidth); in visitAND() 6420 SplatValue |= SplatValue.shl(SplatBitSize); in visitAND() 6427 Constant &= SplatValue.extractBits(EltBitWidth, i * EltBitWidth); in visitAND() 11506 APInt SplatValue; in visitVSELECT() local 11508 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT() 11510 SplatValue.isSignMask()) { in visitVSELECT() 11513 OpRHS = DAG.getConstant(SplatValue, DL, VT); in visitVSELECT()
|
| H A D | TargetLowering.cpp | 6195 auto SplatValue = llvm::find_if_not(Values, Predicate); in turnVectorIntoSplatVector() local 6196 if (SplatValue != Values.end()) { in turnVectorIntoSplatVector() 6198 if (llvm::all_of(Values, [Predicate, SplatValue](SDValue Value) { in turnVectorIntoSplatVector() 6199 return Value == *SplatValue || Predicate(Value); in turnVectorIntoSplatVector() 6201 Replacement = *SplatValue; in turnVectorIntoSplatVector()
|
| H A D | LegalizeVectorTypes.cpp | 2366 APInt SplatValue; in SplitVecRes_VECTOR_SHUFFLE() local 2368 (ISD::isConstantSplatVector(N.getNode(), SplatValue) || in SplitVecRes_VECTOR_SHUFFLE()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCalls.cpp | 429 if (auto *SplatValue = getSplatValue(II.getArgOperand(0))) { in simplifyMaskedScatter() local 432 new StoreInst(SplatValue, SplatPtr, /*IsVolatile=*/false, Alignment); in simplifyMaskedScatter()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.cpp | 6805 APInt SplatValue, SplatUndef; in getAVX512Node() local 6808 if (BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in getAVX512Node() 6810 !HasAnyUndefs && SplatValue.getBitWidth() == OpEltSizeInBits) in getAVX512Node() 6811 return DAG.getConstant(SplatValue, DL, DstVT); in getAVX512Node() 9608 static Constant *getConstantVector(MVT VT, const APInt &SplatValue, in getConstantVector() argument 9615 APInt Val = SplatValue.extractBits(ScalarSize, ScalarSize * i); in getConstantVector() 9729 APInt SplatValue, Undef; in lowerBuildVectorAsBroadcast() local 9733 if (BVOp->isConstantSplat(SplatValue, Undef, SplatBitSize, HasUndef) && in lowerBuildVectorAsBroadcast() 9751 Constant *C = Constant::getIntegerValue(ScalarTy, SplatValue); in lowerBuildVectorAsBroadcast() 9768 Constant *VecC = getConstantVector(VT, SplatValue, SplatBitSize, in lowerBuildVectorAsBroadcast()
|