Home
last modified time | relevance | path

Searched refs:ShuffleVectorInst (Results 1 – 25 of 74) sorted by relevance

123

/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp121 ArrayRef<ShuffleVectorInst *> Shuffles);
128 bool replaceBinOpShuffles(ArrayRef<ShuffleVectorInst *> BinOpShuffles,
129 SmallVectorImpl<ShuffleVectorInst *> &Shuffles,
301 SmallVector<ShuffleVectorInst *, 4> Shuffles; in lowerInterleavedLoad()
305 SmallSetVector<ShuffleVectorInst *, 4> BinOpShuffles; in lowerInterleavedLoad()
315 [](auto *U) { return isa<ShuffleVectorInst>(U); })) { in lowerInterleavedLoad()
317 BinOpShuffles.insert(cast<ShuffleVectorInst>(SVI)); in lowerInterleavedLoad()
321 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad()
396 ArrayRef<ShuffleVectorInst *> BinOpShuffles, in replaceBinOpShuffles()
397 SmallVectorImpl<ShuffleVectorInst *> &Shuffles, LoadInst *LI) { in replaceBinOpShuffles()
[all …]
H A DComplexDeinterleavingPass.cpp377 auto *SVI = dyn_cast<ShuffleVectorInst>(&I); in evaluateBasicBlock()
707 auto *RealShuffle = dyn_cast<ShuffleVectorInst>(Real); in identifyNode()
708 auto *ImagShuffle = dyn_cast<ShuffleVectorInst>(Imag); in identifyNode()
743 auto CheckType = [&](ShuffleVectorInst *Shuffle) { in identifyNode()
756 auto CheckDeinterleavingShuffle = [&](ShuffleVectorInst *Shuffle) -> bool { in identifyNode()
H A DInterleavedLoadCombinePass.cpp669 ShuffleVectorInst *SVI = nullptr;
711 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute()
784 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
1265 if (auto SVI = dyn_cast<ShuffleVectorInst>(&I)) { in run()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp337 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser()
534 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
732 auto *WideVec = new ShuffleVectorInst(ExtVecOp, ExtendMask); in replaceExtractElements()
1163 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1259 return new ShuffleVectorInst(FirstIE, Mask); in foldInsSequenceIntoSplat()
1266 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1296 return new ShuffleVectorInst(Op0, NewMask); in foldInsEltIntoSplat()
1303 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1348 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1389 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
[all …]
H A DInstCombineInternal.h171 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI);
172 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
499 Instruction *foldSelectShuffle(ShuffleVectorInst &Shuf);
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp55 ArrayRef<ShuffleVectorInst *> Shuffles;
110 ArrayRef<ShuffleVectorInst *> Shuffs, in X86InterleavedAccessGroup()
170 assert((isa<LoadInst>(VecInst) || isa<ShuffleVectorInst>(VecInst)) && in decompose()
180 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose()
187 cast<ShuffleVectorInst>(Builder.CreateShuffleVector( in decompose()
811 LoadInst *LI, ArrayRef<ShuffleVectorInst *> Shuffles, in lowerInterleavedLoad()
828 ShuffleVectorInst *SVI, in lowerInterleavedStore()
844 ArrayRef<ShuffleVectorInst *> Shuffles = ArrayRef(SVI); in lowerInterleavedStore()
H A DX86PartialReduction.cpp390 auto *Shuffle = dyn_cast<ShuffleVectorInst>(LHS); in matchAddReduction()
394 Shuffle = dyn_cast<ShuffleVectorInst>(RHS); in matchAddReduction()
/openbsd-src/gnu/llvm/llvm/lib/IR/
H A DInstructions.cpp2055 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *Mask, const Twine &Name, in ShuffleVectorInst() function in ShuffleVectorInst
2057 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
2060 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *Mask, const Twine &Name, in ShuffleVectorInst() function in ShuffleVectorInst
2062 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
2065 ShuffleVectorInst::ShuffleVectorInst(Value *V1, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
2068 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
2071 ShuffleVectorInst::ShuffleVectorInst(Value *V1, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
2073 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
2076 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
2082 ShuffleVector, OperandTraits<ShuffleVectorInst>::op_begin(this), in ShuffleVectorInst()
[all …]
H A DInstruction.cpp542 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState()
544 cast<ShuffleVectorInst>(I2)->getShuffleMask(); in haveSameSpecialState()
H A DConstantsContext.h184 assert(ShuffleVectorInst::isValidOperands(C1, C2, Mask) && in ShuffleVectorConstantExpr()
190 ShuffleVectorInst::convertShuffleMaskForBitcode(Mask, getType()); in ShuffleVectorConstantExpr()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp279 auto *Shuf = cast<ShuffleVectorInst>(&I); in widenSubvectorLoad()
1294 ShuffleVectorInst *Shuffle = nullptr; in foldShuffleFromReductions()
1315 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(CI)) { in foldShuffleFromReductions()
1390 auto *SVI = cast<ShuffleVectorInst>(&I); in foldSelectShuffle()
1408 !(isa<ShuffleVectorInst>(U) && in foldSelectShuffle()
1420 SmallVector<ShuffleVectorInst *> Shuffles; in foldSelectShuffle()
1423 auto *SV = dyn_cast<ShuffleVectorInst>(U); in foldSelectShuffle()
1444 for (ShuffleVectorInst *SV : Shuffles) { in foldSelectShuffle()
1446 ShuffleVectorInst *SSV = dyn_cast<ShuffleVectorInst>(U); in foldSelectShuffle()
1462 for (ShuffleVectorInst *SVN : Shuffles) { in foldSelectShuffle()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp157 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
286 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
433 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1049 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/openbsd-src/gnu/llvm/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILValueEnumerator.cpp194 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
326 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
471 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1054 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/openbsd-src/gnu/llvm/llvm/lib/FuzzMutate/
H A DOperations.cpp309 return ShuffleVectorInst::isValidOperands(Cur[0], Cur[1], V); in validShuffleVectorIndex()
324 return new ShuffleVectorInst(Srcs[0], Srcs[1], Srcs[2], "S", Inst); in shuffleVectorDescriptor()
/openbsd-src/gnu/llvm/llvm/lib/Target/ARM/
H A DARMISelLowering.h459 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
654 ArrayRef<ShuffleVectorInst *> Shuffles,
657 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
H A DMVELaneInterleavingPass.cpp256 if (cast<ShuffleVectorInst>(I)->isZeroEltSplat()) in tryInterleave()
/openbsd-src/gnu/llvm/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/openbsd-src/gnu/llvm/llvm/include/llvm/IR/
H A DInstructions.h2017 class ShuffleVectorInst : public Instruction {
2025 ShuffleVectorInst *cloneImpl() const;
2028 ShuffleVectorInst(Value *V1, Value *Mask, const Twine &NameStr = "",
2030 ShuffleVectorInst(Value *V1, Value *Mask, const Twine &NameStr,
2032 ShuffleVectorInst(Value *V1, ArrayRef<int> Mask, const Twine &NameStr = "",
2034 ShuffleVectorInst(Value *V1, ArrayRef<int> Mask, const Twine &NameStr,
2036 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2039 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2041 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
2044 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
[all …]
H A DInstVisitor.h193 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);} in visitShuffleVectorInst()
H A DInstruction.def216 HANDLE_OTHER_INST(63, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp681 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations()
683 ArrayRef<int> RMask = cast<ShuffleVectorInst>(R)->getShuffleMask(); in cmpOperations()
/openbsd-src/gnu/llvm/llvm/lib/Target/SPIRV/
H A DSPIRVRegularizer.cpp241 Value *NewVec = new ShuffleVectorInst(Inst, PVal, ConstVec, "", CI); in visitCallScalToVec()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DGVNSink.cpp357 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr()
H A DRewriteStatepointsForGC.cpp461 if (isa<ShuffleVectorInst>(I)) { in findBaseDefiningValueOfVector()
729 !isa<ShuffleVectorInst>(V); in isOriginalBaseResult()
907 isa<ShuffleVectorInst>(BDV); in findBasePointer()
938 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(BDV)) { in findBasePointer()
1281 auto *BaseSV = cast<ShuffleVectorInst>(State.getBaseValue()); in findBasePointer()
1282 auto *BdvSV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DVectorUtils.cpp318 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement()
398 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in isSplatValue()

123