| /freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | MipsSEISelDAGToDAG.cpp | 517 APInt SplatValue, SplatUndef; in selectVSplat() local 521 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat() 525 Imm = SplatValue; in selectVSplat() 1044 APInt SplatValue, SplatUndef; in trySelect() local 1054 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in trySelect() 1086 if (SplatValue.isSignedIntN(10)) { in trySelect() 1087 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in trySelect() 1091 } else if (SplatValue.isSignedIntN(16) && in trySelect() 1115 const unsigned Lo = SplatValue.getLoBits(16).getZExtValue(); in trySelect() 1121 } else if (SplatValue.isSignedIntN(32) && SplatBitSize == 32) { in trySelect() [all …]
|
| H A D | MipsISelDAGToDAG.cpp | 198 APInt SplatValue, SplatUndef; in selectVecAddAsVecSubIfProfitable() local 202 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVecAddAsVecSubIfProfitable() 208 if (IsInlineConstant(SplatValue)) in selectVecAddAsVecSubIfProfitable() 211 APInt NegSplatValue = 0 - SplatValue; in selectVecAddAsVecSubIfProfitable()
|
| H A D | MipsSEISelLowering.cpp | 578 APInt SplatValue, SplatUndef; in isVSplat() local 582 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in isVSplat() 586 Imm = SplatValue; in isVSplat() 603 APInt SplatValue, SplatUndef; in isVectorAllOnes() local 609 if (BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs)) in isVectorAllOnes() 610 return SplatValue.isAllOnes(); in isVectorAllOnes() 887 APInt SplatValue, SplatUndef; in performDSPShiftCombine() local 897 !BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in performDSPShiftCombine() 900 (SplatValue.getZExtValue() >= EltSize)) in performDSPShiftCombine() 905 DAG.getConstant(SplatValue.getZExtValue(), DL, MVT::i32)); in performDSPShiftCombine() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchISelDAGToDAG.cpp | 113 APInt SplatValue, SplatUndef; in INITIALIZE_PASS() local 123 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in INITIALIZE_PASS() 150 if (SplatValue.isSignedIntN(10)) { in INITIALIZE_PASS() 151 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL, in INITIALIZE_PASS() 378 APInt SplatValue, SplatUndef; in selectVSplat() local 382 if (!Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in selectVSplat() 386 Imm = SplatValue; in selectVSplat()
|
| H A D | LoongArchISelLowering.cpp | 2458 APInt SplatValue, SplatUndef; in lowerBUILD_VECTOR() local 2471 if (Node->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, HasAnyUndefs, in lowerBUILD_VECTOR() 2499 SDValue Result = DAG.getConstant(SplatValue, DL, ViaVecTy); in lowerBUILD_VECTOR()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopIdiomRecognize.cpp | 478 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in isLegalStore() local 485 if (!UnorderedAtomic && HasMemset && SplatValue && !DisableLIRP::Memset && in isLegalStore() 488 CurLoop->isLoopInvariant(SplatValue)) { in isLegalStore() 936 Value *SplatValue = MSI->getValue(); in processLoopMemSet() local 937 if (!SplatValue || !CurLoop->isLoopInvariant(SplatValue)) in processLoopMemSet() 943 MSI->getDestAlign(), SplatValue, MSI, MSIs, in processLoopMemSet() 1075 Value *SplatValue = isBytewiseValue(StoredVal, *DL); in processLoopStridedStore() local 1077 if (!SplatValue) in processLoopStridedStore() 1135 if (SplatValue) { in processLoopStridedStore() 1136 NewCall = Builder.CreateMemSet(BasePtr, SplatValue, MemsetArg, in processLoopStridedStore()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
| H A D | Utils.cpp | 1338 int SplatValue = *FirstDefinedIdx; in getSplatIndex() local 1340 [&SplatValue](int Elt) { return Elt >= 0 && Elt != SplatValue; })) in getSplatIndex() 1343 return SplatValue; in getSplatIndex() 1397 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1399 return SplatValAndReg->Value.getSExtValue() == SplatValue; in isBuildVectorConstantSplat() 1406 int64_t SplatValue, bool AllowUndef) { in isBuildVectorConstantSplat() argument 1407 return isBuildVectorConstantSplat(MI.getOperand(0).getReg(), MRI, SplatValue, in isBuildVectorConstantSplat()
|
| H A D | CombinerHelper.cpp | 6901 bool CombinerHelper::isConstantSplatVector(Register Src, int64_t SplatValue, in isConstantSplatVector() argument 6917 if (IConstant && IConstant->Value == SplatValue) in isConstantSplatVector()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | Utils.h | 460 int64_t SplatValue, bool AllowUndef); 466 int64_t SplatValue, bool AllowUndef);
|
| H A D | CombinerHelper.h | 1105 bool isConstantSplatVector(Register Src, int64_t SplatValue,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyISelLowering.cpp | 2564 SDValue SplatValue; in LowerBUILD_VECTOR() local 2566 std::tie(SplatValue, NumSplatLanes) = GetMostCommon(SplatValueCounts); in LowerBUILD_VECTOR() 2680 if (NumSplatLanes == 1 && Op->getOperand(0) == SplatValue && in LowerBUILD_VECTOR() 2683 Result = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VecT, SplatValue); in LowerBUILD_VECTOR() 2686 Result = DAG.getSplatBuildVector(VecT, DL, SplatValue); in LowerBUILD_VECTOR() 2688 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() 2689 return Lane == SplatValue; in LowerBUILD_VECTOR() 3002 APInt SplatValue, SplatUndef; in performVectorTruncZeroCombine() local 3008 Splat->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in performVectorTruncZeroCombine() 3010 SplatValue == 0; in performVectorTruncZeroCombine()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.cpp | 1833 auto *SplatValue = in instCombineSVECmpNE() local 1835 if (!SplatValue || !SplatValue->isZero()) in instCombineSVECmpNE() 2376 auto *SplatValue = dyn_cast_or_null<ConstantInt>(getSplatValue(OpIndices)); in instCombineSVETBL() local 2377 if (!SplatValue || in instCombineSVETBL() 2378 SplatValue->getValue().uge(VTy->getElementCount().getKnownMinValue())) in instCombineSVETBL() 2383 auto *Extract = IC.Builder.CreateExtractElement(OpVal, SplatValue); in instCombineSVETBL() 2498 Value *SplatValue = getSplatValue(DivVec); in instCombineSVESDIV() local 2499 ConstantInt *SplatConstantInt = dyn_cast_or_null<ConstantInt>(SplatValue); in instCombineSVESDIV()
|
| H A D | AArch64ISelLowering.cpp | 21567 APInt SplatValue, SplatUndef; in tryCombineShiftImm() local 21570 if (!BVN->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in tryCombineShiftImm() 21575 ShiftAmount = SplatValue.getSExtValue(); in tryCombineShiftImm()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | SelectionDAGNodes.h | 92 LLVM_ABI bool isConstantSplatVector(const SDNode *N, APInt &SplatValue); 2200 LLVM_ABI bool isConstantSplat(APInt &SplatValue, APInt &SplatUndef,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
| H A D | AArch64InstructionSelector.cpp | 5771 if (Constant *SplatValue = CV->getSplatValue()) { in emitConstantVector() local 5773 isa<ConstantFP>(SplatValue) in emitConstantVector() 5774 ? cast<ConstantFP>(SplatValue)->getValueAPF().bitcastToAPInt() in emitConstantVector() 5775 : SplatValue->getUniqueInteger(); in emitConstantVector()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | SelectionDAG.cpp | 13300 bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue, APInt &SplatUndef, in isConstantSplat() argument 13313 SplatValue = APInt(VecWidth, 0); in isConstantSplat() 13332 SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltWidth), BitPos); in isConstantSplat() 13334 SplatValue.insertBits(CN->getValueAPF().bitcastToAPInt(), BitPos); in isConstantSplat() 13350 APInt HighValue = SplatValue.extractBits(HalfSize, HalfSize); in isConstantSplat() 13351 APInt LowValue = SplatValue.extractBits(HalfSize, 0); in isConstantSplat() 13360 SplatValue = HighValue | LowValue; in isConstantSplat()
|
| H A D | TargetLowering.cpp | 6874 auto SplatValue = llvm::find_if_not(Values, Predicate); in turnVectorIntoSplatVector() local 6875 if (SplatValue != Values.end()) { in turnVectorIntoSplatVector() 6877 if (llvm::all_of(Values, [Predicate, SplatValue](SDValue Value) { in turnVectorIntoSplatVector() 6878 return Value == *SplatValue || Predicate(Value); in turnVectorIntoSplatVector() 6880 Replacement = *SplatValue; in turnVectorIntoSplatVector()
|
| H A D | DAGCombiner.cpp | 7523 APInt SplatValue, SplatUndef; in visitAND() local 7533 Vector->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in visitAND() 7541 SplatValue |= SplatUndef; in visitAND() 7549 Constant &= SplatValue.extractBits(EltBitWidth, i * EltBitWidth); in visitAND() 13400 APInt SplatValue; in visitVSELECT() local 13402 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT() 13404 SplatValue.isSignMask()) { in visitVSELECT() 13407 OpRHS = DAG.getConstant(SplatValue, DL, VT); in visitVSELECT()
|
| H A D | LegalizeVectorTypes.cpp | 2773 APInt SplatValue; in SplitVecRes_VECTOR_SHUFFLE() local 2775 (ISD::isConstantSplatVector(N.getNode(), SplatValue) || in SplitVecRes_VECTOR_SHUFFLE()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCalls.cpp | 399 if (auto *SplatValue = getSplatValue(II.getArgOperand(0))) { in simplifyMaskedScatter() local 403 StoreInst *S = new StoreInst(SplatValue, SplatPtr, /*IsVolatile=*/false, in simplifyMaskedScatter()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.cpp | 4055 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() local 4060 SplatValue |= in lowerBuildVectorOfConstants() 4068 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants() 4072 DAG.getSignedConstant(SplatValue, DL, XLenVT), 0); in lowerBuildVectorOfConstants() 4109 uint64_t SplatValue = 0; in lowerBuildVectorOfConstants() local 4114 SplatValue |= in lowerBuildVectorOfConstants() 4123 SplatValue = SignExtend64<32>(SplatValue); in lowerBuildVectorOfConstants() 4131 if (ViaIntVT.bitsLE(XLenVT) || isInt<32>(SplatValue)) { in lowerBuildVectorOfConstants() 4139 DAG.getSignedConstant(SplatValue, DL, XLenVT), ViaVL); in lowerBuildVectorOfConstants() 13043 SDValue SplatValue = DAG.getSignedConstant( in lowerVPExtMaskOp() local [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.cpp | 4512 APInt SplatValue, SplatUndef; in getAVX512Node() local 4515 if (BV->isConstantSplat(SplatValue, SplatUndef, SplatBitSize, in getAVX512Node() 4517 !HasAnyUndefs && SplatValue.getBitWidth() == OpEltSizeInBits) in getAVX512Node() 4518 return DAG.getConstant(SplatValue, DL, DstVT); in getAVX512Node() 7570 static Constant *getConstantVector(MVT VT, const APInt &SplatValue, in getConstantVector() argument 7587 return getConstantScalar(SplatValue); in getConstantVector() 7592 APInt Val = SplatValue.extractBits(ScalarSize, ScalarSize * I); in getConstantVector() 7707 APInt SplatValue, Undef; in lowerBuildVectorAsBroadcast() local 7711 if (BVOp->isConstantSplat(SplatValue, Undef, SplatBitSize, HasUndef) && in lowerBuildVectorAsBroadcast() 7725 Constant *C = getConstantVector(VT, SplatValue, SplatBitSize, *Ctx); in lowerBuildVectorAsBroadcast() [all …]
|