/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
H A D | LoongArchISelDAGToDAG.cpp | 96 APInt SplatValue, SplatUndef; in INITIALIZE_PASS() local 106 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in INITIALIZE_PASS() 133 if (SplatValue.isSignedIntN(10)) { in INITIALIZE_PASS() 134 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in INITIALIZE_PASS() 339 APInt SplatValue, SplatUndef; in selectVSplat() local 343 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat() 347 Imm = SplatValue; in selectVSplat()
|
H A D | LoongArchISelLowering.cpp | 1377 APInt SplatValue, SplatUndef; in lowerBUILD_VECTOR() local 1387 if (Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in lowerBUILD_VECTOR() 1415 SDValue Result = DAG.getConstant(SplatValue, DL, ViaVecTy); in lowerBUILD_VECTOR()
|
/freebsd/contrib/llvm-project/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() 1098 APInt SplatValue, SplatUndef; in trySelect() local 1108 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in trySelect() 1140 if (SplatValue.isSignedIntN(10)) { in trySelect() 1141 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in trySelect() 1145 } else if (SplatValue.isSignedIntN(16) && in trySelect() 1169 const unsigned Lo = SplatValue.getLoBits(16).getZExtValue(); in trySelect() 1175 } else if (SplatValue.isSignedIntN(32) && SplatBitSize == 32) { in trySelect() [all …]
|
H A D | MipsISelDAGToDAG.cpp | 243 APInt SplatValue, SplatUndef; in selectVecAddAsVecSubIfProfitable() local 247 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVecAddAsVecSubIfProfitable() 253 if (IsInlineConstant(SplatValue)) in selectVecAddAsVecSubIfProfitable() 256 APInt NegSplatValue = 0 - SplatValue; in selectVecAddAsVecSubIfProfitable()
|
H A D | MipsSEISelLowering.cpp | 539 APInt SplatValue, SplatUndef; in isVSplat() local 543 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in isVSplat() 547 Imm = SplatValue; in isVSplat() 564 APInt SplatValue, SplatUndef; in isVectorAllOnes() local 570 if (BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs)) in isVectorAllOnes() 571 return SplatValue.isAllOnes(); in isVectorAllOnes() 848 APInt SplatValue, SplatUndef; in performDSPShiftCombine() local 858 !BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in performDSPShiftCombine() 861 (SplatValue.getZExtValue() >= EltSize)) in performDSPShiftCombine() 866 DAG.getConstant(SplatValue.getZExtValue(), DL, MVT::i32)); in performDSPShiftCombine() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 453 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in isLegalStore() local 460 if (!UnorderedAtomic && HasMemset && SplatValue && !DisableLIRP::Memset && in isLegalStore() 463 CurLoop->isLoopInvariant(SplatValue)) { in isLegalStore() 922 Value *SplatValue = MSI->getValue(); in processLoopMemSet() local 923 if (!SplatValue || !CurLoop->isLoopInvariant(SplatValue)) in processLoopMemSet() 929 MSI->getDestAlign(), SplatValue, MSI, MSIs, Ev, in processLoopMemSet() 1011 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in processLoopStridedStore() local 1014 if (!SplatValue) in processLoopStridedStore() 1017 assert((SplatValue || PatternValue) && in processLoopStridedStore() 1080 if (!SplatValue && !isLibFuncEmittable(M, TLI, LibFunc_memset_pattern16)) in processLoopStridedStore() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | Utils.h | 443 int64_t SplatValue, bool AllowUndef); 449 int64_t SplatValue, bool AllowUndef);
|
H A D | CombinerHelper.h | 987 bool isConstantSplatVector(Register Src, int64_t SplatValue,
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | Utils.cpp | 1320 int SplatValue = *FirstDefinedIdx; in getSplatIndex() local 1322 [&SplatValue](int Elt) { return Elt >= 0 && Elt != SplatValue; })) in getSplatIndex() 1325 return SplatValue; in getSplatIndex() 1379 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1381 return mi_match(SplatValAndReg->VReg, MRI, m_SpecificICst(SplatValue)); in isBuildVectorConstantSplat() 1387 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1388 return isBuildVectorConstantSplat(MI.getOperand(0).getReg(), MRI, SplatValue, in isBuildVectorConstantSplat()
|
H A D | CombinerHelper.cpp | 6609 bool CombinerHelper::isConstantSplatVector(Register Src, int64_t SplatValue, in isConstantSplatVector() argument 6625 if (IConstant && IConstant->Value == SplatValue) in isConstantSplatVector()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64TargetTransformInfo.cpp | 1128 auto *SplatValue = in instCombineSVECmpNE() local 1130 if (!SplatValue || !SplatValue->isZero()) in instCombineSVECmpNE() 1699 auto *SplatValue = getSplatValue(I); in instCombineSVEVectorMul() local 1700 if (!SplatValue) in instCombineSVEVectorMul() 1702 return match(SplatValue, m_FPOne()) || match(SplatValue, m_One()); in instCombineSVEVectorMul() 1712 auto *SplatValue = IntrI->getOperand(2); in instCombineSVEVectorMul() local 1713 return match(SplatValue, m_FPOne()) || match(SplatValue, m_One()); in instCombineSVEVectorMul() 1763 auto *SplatValue = dyn_cast_or_null<ConstantInt>(getSplatValue(OpIndices)); in instCombineSVETBL() local 1764 if (!SplatValue || in instCombineSVETBL() 1765 SplatValue->getValue().uge(VTy->getElementCount().getKnownMinValue())) in instCombineSVETBL() [all …]
|
H A D | AArch64ISelLowering.cpp | 14965 APInt SplatValue; in EmitVectorComparison() local 14971 bool IsCnst = BVN && BVN->isConstantSplat(SplatValue, SplatUndef, in EmitVectorComparison() 14974 bool IsZero = IsCnst && SplatValue == 0; in EmitVectorComparison() 14976 IsCnst && SrcVT.getScalarSizeInBits() == SplatBitSize && SplatValue == 1; in EmitVectorComparison() 14977 bool IsMinusOne = IsCnst && SplatValue.isAllOnes(); in EmitVectorComparison() 20826 APInt SplatValue, SplatUndef; in tryCombineShiftImm() local 20829 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in tryCombineShiftImm() 20834 ShiftAmount = SplatValue.getSExtValue(); in tryCombineShiftImm()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyISelLowering.cpp | 2163 SDValue SplatValue; in LowerBUILD_VECTOR() local 2165 std::tie(SplatValue, NumSplatLanes) = GetMostCommon(SplatValueCounts); in LowerBUILD_VECTOR() 2279 Result = DAG.getSplatBuildVector(VecT, DL, SplatValue); in LowerBUILD_VECTOR() 2280 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() 2281 return Lane == SplatValue; in LowerBUILD_VECTOR() 2592 APInt SplatValue, SplatUndef; in performVectorTruncZeroCombine() local 2598 Splat->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in performVectorTruncZeroCombine() 2600 SplatValue == 0; in performVectorTruncZeroCombine()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | SelectionDAGNodes.h | 91 bool isConstantSplatVector(const SDNode *N, APInt &SplatValue); 2087 bool isConstantSplat(APInt &SplatValue, APInt &SplatUndef,
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVISelLowering.cpp | 3798 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() 3803 SplatValue |= in lowerBuildVectorOfConstants() 3810 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants() 3814 DAG.getConstant(SplatValue, DL, XLenVT), in lowerBuildVectorOfConstants() 3854 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() 3859 SplatValue |= in lowerBuildVectorOfConstants() 3867 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants() 3875 if (ViaIntVT.bitsLE(XLenVT) || isInt<32>(SplatValue)) { in lowerBuildVectorOfConstants() 3797 uint64_t SplatValue = 0; lowerBuildVectorOfConstants() local 3853 uint64_t SplatValue = 0; lowerBuildVectorOfConstants() local 11311 SDValue SplatValue = DAG.getConstant( lowerVPExtMaskOp() local [all...] |
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | SelectionDAG.cpp | 12725 bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue, APInt &SplatUndef, in isConstantSplat() argument 12738 SplatValue = APInt(VecWidth, 0); in isConstantSplat() 12757 SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltWidth), BitPos); in isConstantSplat() 12759 SplatValue.insertBits(CN->getValueAPF().bitcastToAPInt(), BitPos); in isConstantSplat() 12775 APInt HighValue = SplatValue.extractBits(HalfSize, HalfSize); in isConstantSplat() 12776 APInt LowValue = SplatValue.extractBits(HalfSize, 0); in isConstantSplat() 12785 SplatValue = HighValue | LowValue; in isConstantSplat()
|
H A D | TargetLowering.cpp | 6648 auto SplatValue = llvm::find_if_not(Values, Predicate); in turnVectorIntoSplatVector() local 6649 if (SplatValue != Values.end()) { in turnVectorIntoSplatVector() 6651 if (llvm::all_of(Values, [Predicate, SplatValue](SDValue Value) { in turnVectorIntoSplatVector() 6652 return Value == *SplatValue || Predicate(Value); in turnVectorIntoSplatVector() 6654 Replacement = *SplatValue; in turnVectorIntoSplatVector()
|
H A D | DAGCombiner.cpp | 7100 APInt SplatValue, SplatUndef; in visitAND() local 7110 Vector->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in visitAND() 7118 SplatValue |= SplatUndef; in visitAND() 7126 Constant &= SplatValue.extractBits(EltBitWidth, i * EltBitWidth); in visitAND() 12538 APInt SplatValue; in visitVSELECT() local 12540 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT() 12542 SplatValue.isSignMask()) { in visitVSELECT() 12545 OpRHS = DAG.getConstant(SplatValue, DL, VT); in visitVSELECT()
|
H A D | LegalizeVectorTypes.cpp | 2638 APInt SplatValue; in SplitVecRes_VECTOR_SHUFFLE() 2640 (ISD::isConstantSplatVector(N.getNode(), SplatValue) || in SplitVecRes_VECTOR_SHUFFLE() 2634 APInt SplatValue; SplitVecRes_VECTOR_SHUFFLE() local
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCalls.cpp | 401 if (auto *SplatValue = getSplatValue(II.getArgOperand(0))) { in simplifyMaskedScatter() local 405 StoreInst *S = new StoreInst(SplatValue, SplatPtr, /*IsVolatile=*/false, in simplifyMaskedScatter()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86ISelLowering.cpp | 4280 APInt SplatValue, SplatUndef; in getAVX512Node() local 4283 if (BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in getAVX512Node() 4285 !HasAnyUndefs && SplatValue.getBitWidth() == OpEltSizeInBits) in getAVX512Node() 4286 return DAG.getConstant(SplatValue, DL, DstVT); in getAVX512Node() 7220 static Constant *getConstantVector(MVT VT, const APInt &SplatValue, in getConstantVector() argument 7237 return getConstantScalar(SplatValue); in getConstantVector() 7242 APInt Val = SplatValue.extractBits(ScalarSize, ScalarSize * I); in getConstantVector() 7343 APInt SplatValue, Undef; in lowerBuildVectorAsBroadcast() local 7347 if (BVOp->isConstantSplat(SplatValue, Undef, SplatBitSize, HasUndef) && in lowerBuildVectorAsBroadcast() 7361 Constant *C = getConstantVector(VT, SplatValue, SplatBitSize, *Ctx); in lowerBuildVectorAsBroadcast() [all …]
|