/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | InterleavedAccessPass.cpp | 23 // E.g. An interleaved load (Factor = 2): 34 // E.g. An interleaved store (Factor = 3): 140 /// \p Factor like: 141 /// <Index, Index+Factor, ..., Index+(NumElts-1)*Factor> 142 static bool isDeInterleaveMaskOfFactor(ArrayRef<int> Mask, unsigned Factor, argument 144 // Check all potential start indices from 0 to (Factor - 1). 145 for (Index = 0; Index < Factor; Index++) { 148 // Check that elements are in ascending order by Factor. Ignore undef 151 if (Mask[i] >= 0 && static_cast<unsigned>(Mask[i]) != Index + i * Factor) 166 isDeInterleaveMask(ArrayRef<int> Mask, unsigned &Factor, unsigned &Index, unsigned MaxFactor, unsigned NumLoadElements) argument 195 isReInterleaveMask(ArrayRef<int> Mask, unsigned &Factor, unsigned MaxFactor, unsigned OpNumElts) argument 309 unsigned Factor, Index; local 428 unsigned Factor; local [all...] |
H A D | InterleavedLoadCombinePass.cpp | 105 std::list<VectorInfo> &InterleavedLoad, unsigned Factor, 690 /// \param Factor of the interleave 694 bool isInterleaved(unsigned Factor, const DataLayout &DL) const { argument 697 if (!EI[i].Ofs.isProvenEqualTo(EI[0].Ofs + i * Factor * Size)) { 746 unsigned Factor = Result.VTy->getNumElements() / VTy->getNumElements(); local 750 if (NewSize * Factor != OldSize) 757 for (unsigned i = 0; i < Result.VTy->getNumElements(); i += Factor) { 758 for (unsigned j = 0; j < Factor; j++) { 760 ElementInfo(Old.EI[i / Factor].Ofs + j * NewSize, 761 j == 0 ? Old.EI[i / Factor] 1053 findPattern( std::list<VectorInfo> &Candidates, std::list<VectorInfo> &InterleavedLoad, unsigned Factor, const DataLayout &DL) argument 1137 unsigned Factor = InterleavedLoad.size(); local [all...] |
H A D | MachineTraceMetrics.cpp | 873 unsigned Factor = MTM.SchedModel.getResourceFactor(K); 876 << PRDepths[K]/Factor << " ops x" << Factor << ")\n"; 1057 unsigned Factor = MTM.SchedModel.getResourceFactor(K); 1060 << PRHeights[K]/Factor << " ops x" << Factor << ")\n";
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | Reassociate.h | 59 struct Factor { struct in namespace:llvm::reassociate 63 Factor(Value *Base, unsigned Power) : Base(Base), Power(Power) {} function in struct:llvm::reassociate::Factor 118 SmallVectorImpl<reassociate::Factor> &Factors); 121 Value *RemoveFactorFromExpression(Value *V, Value *Factor);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86InterleavedAccess.cpp | 44 /// E.g. A group of interleaving access loads (Factor = 2; accessing every 61 const unsigned Factor; member in class:__anon2964::X86InterleavedAccessGroup 114 : Inst(I), Shuffles(Shuffs), Indices(Ind), Factor(F), Subtarget(STarget), 140 if (!Subtarget.hasAVX() || (Factor != 4 && Factor != 3)) 152 if (ShuffleElemSize == 64 && WideInstSize == 1024 && Factor == 4) 155 if (ShuffleElemSize == 8 && isa<StoreInst>(Inst) && Factor == 4 && 160 if (ShuffleElemSize == 8 && Factor == 3 && 728 decompose(Inst, Factor, ShuffleTy, DecomposedVectors); 731 unsigned NumSubVecElems = ShuffleEltTy->getVectorNumElements() / Factor; [all...] |
H A D | X86TargetTransformInfo.h | 161 unsigned Factor, ArrayRef<unsigned> Indices, 166 unsigned Factor, ArrayRef<unsigned> Indices, 171 unsigned Factor, ArrayRef<unsigned> Indices,
|
H A D | X86TargetTransformInfo.cpp | 3547 // \p Factor is the interleaved-access factor (stride) - number of 3552 // of the interleaved-access as given in \p Factor) the access has no gaps. 3559 unsigned Factor, 3567 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, 3573 if (Indices.size() && Indices.size() != Factor) 3574 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, 3577 // VecTy for interleave memop is <VF*Factor x Elt>. 3578 // So, for VF=4, Interleave Factor = 3, Element type = i32 we have 3582 // This function can be called with VecTy=<6xi128>, Factor=3, in which case 3586 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indice 3558 getInterleavedMemoryOpCostAVX2(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument 3674 getInterleavedMemoryOpCostAVX512(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument 3799 getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | VectorUtils.h | 419 InterleaveGroup(uint32_t Factor, bool Reverse, Align Alignment) argument 420 : Factor(Factor), Reverse(Reverse), Alignment(Alignment), 425 Factor = std::abs(Stride); 426 assert(Factor > 1 && "Invalid interleave factor"); 433 uint32_t getFactor() const { return Factor; } 455 if (Index >= static_cast<int32_t>(Factor)) 467 if (*MaybeLargestIndex >= static_cast<int64_t>(Factor)) 531 uint32_t Factor; // Interleave Factor member in class:llvm::InterleaveGroup [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachineTraceMetrics.h | 416 unsigned Factor = SchedModel.getLatencyFactor(); local 417 return (Scaled + Factor - 1) / Factor;
|
H A D | BasicTTIImpl.h | 916 unsigned Factor, 925 assert(Factor > 1 && NumElts % Factor == 0 && "Invalid interleave factor"); 927 unsigned NumSubElts = NumElts / Factor; 976 UsedInsts.set((Index + Elt * Factor) / NumEltsPerLegalInst); 994 assert(Indices.size() <= Factor && 998 assert(Index < Factor && "Invalid index for interleaved memory op"); 1003 Instruction::ExtractElement, VT, Index + i * Factor); 1026 Cost += ExtSubCost * Factor; 1041 // and insert each of them Factor time 915 getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond = false, bool UseMaskForGaps = false) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/ProfileData/Coverage/ |
H A D | CoverageMapping.cpp | 57 void CounterExpressionBuilder::extractTerms(Counter C, int Factor, argument 63 Terms.emplace_back(C.getCounterID(), Factor); 67 extractTerms(E.LHS, Factor, Terms); 69 E.RHS, E.Kind == CounterExpression::Subtract ? -Factor : Factor, Terms); 93 Prev->Factor += I->Factor; 105 if (T.Factor <= 0) 107 for (int I = 0; I < T.Factor; ++I) 117 if (T.Factor > [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | Reassociate.cpp | 1040 /// and if this sequence contains a multiply by Factor, 1041 /// remove Factor from the tree and return the new tree. 1042 Value *ReassociatePass::RemoveFactorFromExpression(Value *V, Value *Factor) { argument 1060 if (Factors[i].Op == Factor) { 1067 if (ConstantInt *FC1 = dyn_cast<ConstantInt>(Factor)) { 1074 } else if (ConstantFP *FC1 = dyn_cast<ConstantFP>(Factor)) { 1546 Value *Factor = Factors[i]; 1547 if (!Duplicates.insert(Factor).second) 1550 unsigned Occ = ++FactorOccurrences[Factor]; 1553 MaxOccVal = Factor; [all...] |
H A D | LoopStrengthReduce.cpp | 2693 if (const SCEVConstant *Factor = 2696 if (Factor->getAPInt().getMinSignedBits() <= 64) 2697 Factors.insert(Factor->getAPInt().getSExtValue()); 2698 } else if (const SCEVConstant *Factor = 2702 if (Factor->getAPInt().getMinSignedBits() <= 64) 2703 Factors.insert(Factor->getAPInt().getSExtValue()); 3886 for (int64_t Factor : Factors) { 3888 if (Base.BaseOffset == std::numeric_limits<int64_t>::min() && Factor == -1) 3890 int64_t NewBaseOffset = (uint64_t)Base.BaseOffset * Factor; 3891 if (NewBaseOffset / Factor ! 5620 OS << '*' << Factor; local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonTargetTransformInfo.cpp | 218 Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, 221 if (Indices.size() != Factor || UseMaskForCond || UseMaskForGaps) 222 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, 217 getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument
|
H A D | HexagonTargetTransformInfo.h | 125 unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZTargetTransformInfo.cpp | 1062 unsigned Factor, 1069 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, 1079 assert(Factor > 1 && NumElts % Factor == 0 && "Invalid interleave factor"); 1080 unsigned VF = NumElts / Factor; 1090 std::vector<BitVector> ValueVecs(Factor, BitVector(NumVectorMemOps, false)); 1093 unsigned Vec = (Index + Elt * Factor) / NumEltsPerVecReg; 1112 unsigned NumSrcVecs = std::min(NumEltsPerVecReg, Factor); 1061 getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument
|
H A D | SystemZTargetTransformInfo.h | 95 unsigned Factor,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCTargetTransformInfo.h | 106 unsigned Factor,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMTargetTransformInfo.cpp | 812 unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, 815 assert(Factor >= 2 && "Invalid interleave factor"); 821 if (Factor <= TLI->getMaxSupportedInterleaveFactor() && !EltIs64Bits && 824 auto *SubVecTy = VectorType::get(VecTy->getScalarType(), NumElts / Factor); 830 if (NumElts % Factor == 0 && 831 TLI->isLegalInterleavedAccessType(Factor, SubVecTy, DL)) 832 return Factor * BaseCost * TLI->getNumInterleavedAccesses(SubVecTy, DL); 839 if (ST->hasMVEIntegerOps() && Factor == 2 && NumElts / Factor > 2 && 844 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indice 811 getInterleavedMemoryOpCost( unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument [all...] |
H A D | MVETailPredication.cpp | 473 ConstantInt *Factor = local 497 Value *Remaining = Builder.CreateSub(Processed, Factor);
|
H A D | ARMTargetTransformInfo.h | 219 int getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64TargetTransformInfo.cpp | 681 unsigned Factor, 687 assert(Factor >= 2 && "Invalid interleave factor"); 691 Factor <= TLI->getMaxSupportedInterleaveFactor()) { 693 auto *SubVecTy = VectorType::get(VecTy->getScalarType(), NumElts / Factor); 698 if (NumElts % Factor == 0 && 700 return Factor * TLI->getNumInterleavedAccesses(SubVecTy, DL); 703 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, 680 getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond, bool UseMaskForGaps) argument
|
H A D | AArch64TargetTransformInfo.h | 175 int getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor,
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/ |
H A D | CoverageMapping.h | 173 int Factor; member in struct:llvm::coverage::CounterExpressionBuilder::Term 175 Term(unsigned CounterID, int Factor) argument 176 : CounterID(CounterID), Factor(Factor) {}
|
/freebsd-11-stable/contrib/llvm-project/clang/lib/Driver/ |
H A D | ToolChain.cpp | 646 // FIXME: Factor into subclasses. 980 unsigned Build = 0, Factor = 1; local 981 for (; Version > 10000; Version = Version / 10, Factor = Factor * 10) 982 Build = Build + (Version % 10) * Factor;
|