Home
last modified time | relevance | path

Searched refs:Vec (Results 1 – 25 of 161) sorted by relevance

1234567

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandReductions.cpp76 Value *Vec = II->getArgOperand(1); in expandReductions() local
79 Rdx = getOrderedReduction(Builder, Acc, Vec, RdxOpcode, RK); in expandReductions()
82 cast<FixedVectorType>(Vec->getType())->getNumElements())) in expandReductions()
84 Rdx = getShuffleReduction(Builder, Vec, RdxOpcode, RS, RK); in expandReductions()
99 Value *Vec = II->getArgOperand(0); in expandReductions() local
100 auto *FTy = cast<FixedVectorType>(Vec->getType()); in expandReductions()
106 Rdx = Builder.CreateBitCast(Vec, Builder.getIntNTy(NumElts)); in expandReductions()
117 Rdx = getShuffleReduction(Builder, Vec, RdxOpcode, RS, RK); in expandReductions()
127 Value *Vec = II->getArgOperand(0); in expandReductions() local
129 cast<FixedVectorType>(Vec->getType())->getNumElements())) in expandReductions()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/MC/
H A DStringTableBuilder.cpp96 static void multikeySort(MutableArrayRef<StringPair *> Vec, int Pos) { in multikeySort() argument
98 if (Vec.size() <= 1) in multikeySort()
104 int Pivot = charTailAt(Vec[0], Pos); in multikeySort()
106 size_t J = Vec.size(); in multikeySort()
108 int C = charTailAt(Vec[K], Pos); in multikeySort()
110 std::swap(Vec[I++], Vec[K++]); in multikeySort()
112 std::swap(Vec[--J], Vec[K]); in multikeySort()
117 multikeySort(Vec.slice(0, I), Pos); in multikeySort()
118 multikeySort(Vec.slice(J), Pos); in multikeySort()
123 Vec = Vec.slice(I, J - I); in multikeySort()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp285 ArrayRef<Value *> Vec, ArrayRef<int> VPShuf, in reorderSubVector() argument
291 TransposedMatrix[i] = Builder.CreateShuffleVector(Vec[i], VPShuf); in reorderSubVector()
302 Vec[i % Stride], Vec[(i + 1) % Stride], OptimizeShuf); in reorderSubVector()
519 static void concatSubVector(Value **Vec, ArrayRef<Instruction *> InVec, in concatSubVector() argument
523 Vec[i] = InVec[i]; in concatSubVector()
529 Vec[i + j * 3] = Builder.CreateShuffleVector( in concatSubVector()
536 Vec[i] = Builder.CreateShuffleVector(Vec[i], Vec[i + 3], Concat); in concatSubVector()
553 Value *Vec[6], *TempVector[3]; in deinterleave8bitStride3() local
566 concatSubVector(Vec, InVec, VecElems, Builder); in deinterleave8bitStride3()
572 Vec[i] = Builder.CreateShuffleVector(Vec[i], VPShuf); in deinterleave8bitStride3()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMInstrMVE.td248 ValueType Vec = vec;
251 // of those in Vec, so we can use it in ISel patterns. It is up to the
260 // Same as Pred but for DblVec rather than Vec.
319 def : Pat<(VTI.Vec (Op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn))),
320 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
324 def : Pat<(VTI.Vec (vselect (VTI.Pred VCCR:$mask),
325 (VTI.Vec (Op (VTI.Vec MQPR:$Qm),
326 (VTI.Vec MQPR:$Qn))),
327 (VTI.Vec MQPR:$inactive))),
328 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
[all …]
H A DARMInstrCDE.td611 def : Pat<(VTI.Vec (int_arm_cde_vcx1q_predicated timm:$coproc,
612 (VTI.Vec MQPR:$inactive), timm:$imm,
614 (VTI.Vec (CDE_VCX1_vec p_imm:$coproc, imm_12b:$imm, ARMVCCThen,
616 (VTI.Vec MQPR:$inactive)))>;
617 def : Pat<(VTI.Vec (int_arm_cde_vcx1qa_predicated timm:$coproc,
618 (VTI.Vec MQPR:$acc), timm:$imm,
620 (VTI.Vec (CDE_VCX1A_vec p_imm:$coproc, (VTI.Vec MQPR:$acc),
624 def : Pat<(VTI.Vec (int_arm_cde_vcx2q_predicated timm:$coproc,
625 (VTI.Vec MQPR:$inactive),
628 (VTI.Vec (CDE_VCX2_vec p_imm:$coproc, (v16i8 MQPR:$n),
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/
H A DInstrMaps.h35 Value *Vec = nullptr; member
73 std::optional<unsigned> getOrigLane(Action *Vec, Value *Orig) const { in getOrigLane() argument
74 auto It1 = VectorToOrigLaneMap.find(Vec); in getOrigLane()
84 void registerVector(ArrayRef<Value *> Origs, Action *Vec) { in registerVector() argument
85 auto &OrigToLaneMap = VectorToOrigLaneMap[Vec]; in registerVector()
88 auto Pair = OrigToVectorMap.try_emplace(Orig, Vec); in registerVector()
102 for (auto [Orig, Vec] : OrigToVectorMap) in print()
103 OS << *Orig << " : " << *Vec << "\n"; in print()
H A DSeedCollector.h202 ValT *Vec = nullptr; variable
231 iterator(BundleMapT &Map, BundleMapT::iterator MapIt, ValT *Vec, int VecIdx) in iterator() argument
232 : Map(&Map), MapIt(MapIt), Vec(Vec), VecIdx(VecIdx) {} in iterator()
234 assert(Vec != nullptr && "Already at end!");
235 return *(*Vec)[VecIdx];
239 while (Vec && VecIdx < Vec->size() && this->operator*().allUsed()) in skipUsed()
245 if (VecIdx >= Vec->size()) {
250 Vec = &MapIt->second;
252 Vec = nullptr;
H A DLegality.h213 Action *Vec; variable
214 DiamondReuse(Action *Vec) in DiamondReuse() argument
215 : LegalityResult(LegalityResultID::DiamondReuse), Vec(Vec) {} in DiamondReuse()
221 Action *getVector() const { return Vec; } in getVector()
226 Action *Vec; variable
228 DiamondReuseWithShuffle(Action *Vec, const ShuffleMask &Mask) in DiamondReuseWithShuffle() argument
229 : LegalityResult(LegalityResultID::DiamondReuseWithShuffle), Vec(Vec), in DiamondReuseWithShuffle()
236 Action *getVector() const { return Vec; } in getVector()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DLegacyLegalizerInfo.cpp247 LegacyLegalizerInfo::findAction(const SizeAndActionsVec &Vec, const uint32_t Size) { in findAction() argument
253 Vec, [=](const SizeAndAction &A) { return A.first <= Size; }); in findAction()
254 assert(It != Vec.begin() && "Does Vec not start with size 1?"); in findAction()
255 int VecIdx = It - Vec.begin() - 1; in findAction()
257 LegacyLegalizeAction Action = Vec[VecIdx].second; in findAction()
268 if (Vec == SizeAndActionsVec({{1, FewerElements}})) in findAction()
280 if (!needsLegalizingToDifferentSize(Vec[i].second) && in findAction()
281 Vec[i].second != Unsupported) in findAction()
282 return {Vec[i].first, Action}; in findAction()
288 for (std::size_t i = VecIdx + 1; i < Vec.size(); ++i) in findAction()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVRegularizer.cpp101 &Ctx](ConstantVector *Vec, in runLowerConstExpr()
103 if (std::all_of(Vec->op_begin(), Vec->op_end(), [](Value *V) { in runLowerConstExpr()
109 std::transform(Vec->op_begin(), Vec->op_end(), in runLowerConstExpr()
122 (Repl ? Repl : PoisonValue::get(Vec->getType())), V, in runLowerConstExpr()
133 if (auto *Vec = dyn_cast<ConstantVector>(Op)) { in runLowerConstExpr() local
134 Value *ReplInst = LowerConstantVec(Vec, OI); in runLowerConstExpr()
145 if (auto *Vec = dyn_cast<ConstantVector>(C)) in runLowerConstExpr() local
146 ReplInst = LowerConstantVec(Vec, OI); in runLowerConstExpr()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/TargetBuiltins/
H A DWebAssembly.cpp231 Value *Vec = EmitScalarExpr(E->getArg(0)); in EmitWebAssemblyBuiltinExpr() local
232 Value *Neg = Builder.CreateNeg(Vec, "neg"); in EmitWebAssemblyBuiltinExpr()
233 Constant *Zero = llvm::Constant::getNullValue(Vec->getType()); in EmitWebAssemblyBuiltinExpr()
234 Value *ICmp = Builder.CreateICmpSLT(Vec, Zero, "abscond"); in EmitWebAssemblyBuiltinExpr()
235 return Builder.CreateSelect(ICmp, Neg, Vec, "abs"); in EmitWebAssemblyBuiltinExpr()
255 Value *Vec = EmitScalarExpr(E->getArg(0)); in EmitWebAssemblyBuiltinExpr() local
271 return Builder.CreateCall(Callee, Vec); in EmitWebAssemblyBuiltinExpr()
306 Value *Vec = EmitScalarExpr(E->getArg(0)); in EmitWebAssemblyBuiltinExpr() local
307 Function *Callee = CGM.getIntrinsic(IntNo, Vec->getType()); in EmitWebAssemblyBuiltinExpr()
308 return Builder.CreateCall(Callee, {Vec}); in EmitWebAssemblyBuiltinExpr()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerVectorIntrinsics.cpp40 PHINode *Vec = LoopBuilder.CreatePHI(VecTy, 2); in lowerUnaryVectorIntrinsicAsLoop() local
41 Vec->addIncoming(CI->getArgOperand(0), PreLoopBB); in lowerUnaryVectorIntrinsicAsLoop()
43 Value *Elem = LoopBuilder.CreateExtractElement(Vec, LoopIndex); in lowerUnaryVectorIntrinsicAsLoop()
47 Value *NewVec = LoopBuilder.CreateInsertElement(Vec, Res, LoopIndex); in lowerUnaryVectorIntrinsicAsLoop()
48 Vec->addIncoming(NewVec, LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
H A DFunctionImportUtils.cpp49 SmallVector<GlobalValue *, 4> Vec; in FunctionImportGlobalProcessing() local
51 collectUsedGlobalVariables(M, Vec, /*CompilerUsed=*/false); in FunctionImportGlobalProcessing()
53 collectUsedGlobalVariables(M, Vec, /*CompilerUsed=*/true); in FunctionImportGlobalProcessing()
54 Used = {llvm::from_range, Vec}; in FunctionImportGlobalProcessing()
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DPackedVector.h84 PackedVector &Vec; variable
89 reference(PackedVector &vec, unsigned idx) : Vec(vec), Idx(idx) {} in reference()
92 Vec.setValue(Vec.Bits, Idx, val);
97 return Vec.getValue(Vec.Bits, Idx); in T()
H A DArrayRef.h116 std::initializer_list<T> Vec LLVM_LIFETIME_BOUND) in ArrayRef()
117 : Data(Vec.begin() == Vec.end() ? (T *)nullptr : Vec.begin()), in ArrayRef()
118 Length(Vec.size()) {} in ArrayRef()
492 template <typename T> ArrayRef(const SmallVectorImpl<T> &Vec) -> ArrayRef<T>;
496 ArrayRef(const SmallVector<T, N> &Vec) -> ArrayRef<T>;
499 template <typename T> ArrayRef(const std::vector<T> &Vec) -> ArrayRef<T>;
503 ArrayRef(const std::array<T, N> &Vec) -> ArrayRef<T>;
506 template <typename T> ArrayRef(const ArrayRef<T> &Vec) -> ArrayRef<T>;
509 template <typename T> ArrayRef(ArrayRef<T> &Vec) -> ArrayRef<T>;
528 MutableArrayRef(SmallVectorImpl<T> &Vec) -> MutableArrayRef<T>;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/
H A DLegality.cpp194 SmallVector<CollectDescr::ExtractElementDescr, 4> Vec; in getHowToCollectValues() local
195 Vec.reserve(Bndl.size()); in getHowToCollectValues()
203 Vec.emplace_back(VecOp, ExtractIdxOpt ? *ExtractIdxOpt + Ln : -1); in getHowToCollectValues()
205 Vec.emplace_back(V); in getHowToCollectValues()
208 return CollectDescr(std::move(Vec)); in getHowToCollectValues()
229 auto [Vec, Mask] = *ValueShuffleOpt; in canVectorize()
231 return createLegalityResult<DiamondReuse>(Vec); in canVectorize()
232 return createLegalityResult<DiamondReuseWithShuffle>(Vec, Mask); in canVectorize()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/
H A DDXILDataScalarization.cpp89 AllocaAndGEPs createArrayFromVector(IRBuilder<> &Builder, Value *Vec,
186 DataScalarizerVisitor::createArrayFromVector(IRBuilder<> &Builder, Value *Vec, in createArrayFromVector() argument
189 if (VectorAllocaMap.contains(Vec)) in createArrayFromVector()
190 return VectorAllocaMap[Vec]; in createArrayFromVector()
196 Type *ArrTy = equivalentArrayTypeFromVector(Vec->getType()); in createArrayFromVector()
204 if (auto *Instr = dyn_cast<Instruction>(Vec)) in createArrayFromVector()
208 Value *EE = Builder.CreateExtractElement(Vec, I, Name + ".extract"); in createArrayFromVector()
215 VectorAllocaMap.insert({Vec, {ArrAlloca, GEPs}}); in createArrayFromVector()
237 Value *Vec = IEI.getOperand(0); in replaceDynamicInsertElementInst() local
242 createArrayFromVector(Builder, Vec, IEI.getName()); in replaceDynamicInsertElementInst()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGenTypes/
H A DMachineValueType.h43 #define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ argument
184 #define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in isOverloaded() argument
267 #define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getVectorElementType() argument
281 #define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getVectorMinNumElements() argument
311 #define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getSizeInBits() argument
434 #define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getFloatingPointVT() argument
444 #define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getIntegerVT() argument
474 #define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, nElem, EltTy) \ in getRISCVVectorTupleVT() argument
488 #define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy) \ in getRISCVVectorTupleNumFields() argument
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DAPValue.h270 struct Vec {
273 Vec() = default;
274 Vec(const Vec &) = delete;
275 Vec &operator=(const Vec &) = delete;
276 ~Vec() { delete[] Elts; }
311 ComplexAPFloat, Vec, Arr, StructData,
566 return ((Vec *)(char *)&Data)->Elts[I];
573 return ((const Vec *)(const void *)&Data)->NumElts;
716 new ((void *)(char *)&Data) Vec();
755 Vec *V = ((Vec *)(char *)&Data);
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/
H A DHashTable.cpp44 SparseBitVector<> &Vec) { in writeSparseBitVector() argument
47 int ReqBits = Vec.find_last() + 1; in writeSparseBitVector()
59 if (Vec.test(Idx)) in writeSparseBitVector()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/
H A DARMUnwindOpAsm.cpp26 /// be placed in Vec[3], and the following bytes will be placed in 2, 1, 0,
30 SmallVectorImpl<uint8_t> &Vec; member in __anoncc1f11ef0111::UnwindOpcodeStreamer
34 UnwindOpcodeStreamer(SmallVectorImpl<uint8_t> &V) : Vec(V) {} in UnwindOpcodeStreamer()
38 Vec[Pos] = elem; in EmitByte()
59 while (Pos < Vec.size()) in FillFinishOpcode()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstSimplifyFolder.h100 Value *FoldExtractElement(Value *Vec, Value *Idx) const override { in FoldExtractElement() argument
101 return simplifyExtractElementInst(Vec, Idx, SQ); in FoldExtractElement()
104 Value *FoldInsertElement(Value *Vec, Value *NewElt, in FoldInsertElement() argument
106 return simplifyInsertElementInst(Vec, NewElt, Idx, SQ); in FoldInsertElement()
H A DTargetFolder.h158 Value *FoldExtractElement(Value *Vec, Value *Idx) const override { in FoldExtractElement() argument
159 auto *CVec = dyn_cast<Constant>(Vec); in FoldExtractElement()
166 Value *FoldInsertElement(Value *Vec, Value *NewElt, in FoldInsertElement() argument
168 auto *CVec = dyn_cast<Constant>(Vec); in FoldInsertElement()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DR600TargetTransformInfo.cpp31 unsigned R600TTIImpl::getHardwareNumberOfRegisters(bool Vec) const { in getHardwareNumberOfRegisters()
36 bool Vec = ClassID == 1; in getNumberOfRegisters() local
37 return getHardwareNumberOfRegisters(Vec); in getNumberOfRegisters()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantFolder.h147 Value *FoldExtractElement(Value *Vec, Value *Idx) const override { in FoldExtractElement() argument
148 auto *CVec = dyn_cast<Constant>(Vec); in FoldExtractElement()
155 Value *FoldInsertElement(Value *Vec, Value *NewElt, in FoldInsertElement() argument
157 auto *CVec = dyn_cast<Constant>(Vec); in FoldInsertElement()

1234567