Home
last modified time | relevance | path

Searched refs:SVI (Results 1 – 25 of 56) sorted by relevance

123

/external/llvm-project/llvm/lib/CodeGen/
DInterleavedAccessPass.cpp314 if (auto *SVI = dyn_cast<ShuffleVectorInst>(*BI->user_begin())) { in lowerInterleavedLoad() local
315 BinOpShuffles.insert(SVI); in lowerInterleavedLoad()
319 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad() local
320 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
323 Shuffles.push_back(SVI); in lowerInterleavedLoad()
381 for (auto SVI : Shuffles) in lowerInterleavedLoad() local
382 DeadInsts.push_back(SVI); in lowerInterleavedLoad()
391 for (auto *SVI : BinOpShuffles) { in tryReplaceBinOpShuffles() local
392 BinaryOperator *BI = cast<BinaryOperator>(SVI->getOperand(0)); in tryReplaceBinOpShuffles()
393 ArrayRef<int> Mask = SVI->getShuffleMask(); in tryReplaceBinOpShuffles()
[all …]
DInterleavedLoadCombinePass.cpp670 ShuffleVectorInst *SVI; member
679 : BB(nullptr), PV(nullptr), LIs(), Is(), SVI(nullptr), VTy(VTy) { in VectorInfo()
713 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute() local
714 if (SVI) in compute()
715 return computeFromSVI(SVI, Result, DL); in compute()
770 Result.SVI = nullptr; in computeFromBCI()
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
789 cast<FixedVectorType>(SVI->getOperand(0)->getType()); in computeFromSVI()
793 if (!compute(SVI->getOperand(0), LHS, DL)) in computeFromSVI()
798 if (!compute(SVI->getOperand(1), RHS, DL)) in computeFromSVI()
[all …]
DCodeGenPrepare.cpp401 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
6700 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
6701 if (!match(SVI, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), m_ZeroInt()), in optimizeShuffleVectorInst()
6704 Type *NewType = TLI->shouldConvertSplatType(SVI); in optimizeShuffleVectorInst()
6708 auto *SVIVecType = cast<FixedVectorType>(SVI->getType()); in optimizeShuffleVectorInst()
6716 IRBuilder<> Builder(SVI->getContext()); in optimizeShuffleVectorInst()
6717 Builder.SetInsertPoint(SVI); in optimizeShuffleVectorInst()
6719 cast<Instruction>(SVI->getOperand(0))->getOperand(1), NewType); in optimizeShuffleVectorInst()
6723 Insert, UndefValue::get(NewVecType), SVI->getShuffleMask()); in optimizeShuffleVectorInst()
6726 SVI->replaceAllUsesWith(BC2); in optimizeShuffleVectorInst()
[all …]
/external/llvm/lib/CodeGen/
DInterleavedAccessPass.cpp214 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(*UI); in lowerInterleavedLoad() local
215 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
218 Shuffles.push_back(SVI); in lowerInterleavedLoad()
260 for (auto SVI : Shuffles) in lowerInterleavedLoad() local
261 DeadInsts.push_back(SVI); in lowerInterleavedLoad()
339 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(SI->getValueOperand()); in lowerInterleavedStore() local
340 if (!SVI || !SVI->hasOneUse()) in lowerInterleavedStore()
345 if (!isReInterleaveMask(SVI->getShuffleMask(), Factor)) in lowerInterleavedStore()
351 if (!TLI->lowerInterleavedStore(SI, SVI, Factor)) in lowerInterleavedStore()
356 DeadInsts.push_back(SVI); in lowerInterleavedStore()
DCodeGenPrepare.cpp4705 static bool isBroadcastShuffle(ShuffleVectorInst *SVI) { in isBroadcastShuffle() argument
4706 SmallVector<int, 16> Mask(SVI->getShuffleMask()); in isBroadcastShuffle()
4721 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
4722 BasicBlock *DefBB = SVI->getParent(); in optimizeShuffleVectorInst()
4725 if (!TLI || !TLI->isVectorShiftByScalarCheap(SVI->getType())) in optimizeShuffleVectorInst()
4730 if (!isBroadcastShuffle(SVI)) in optimizeShuffleVectorInst()
4737 for (User *U : SVI->users()) { in optimizeShuffleVectorInst()
4755 new ShuffleVectorInst(SVI->getOperand(0), SVI->getOperand(1), in optimizeShuffleVectorInst()
4756 SVI->getOperand(2), "", &*InsertPt); in optimizeShuffleVectorInst()
4759 UI->replaceUsesOfWith(SVI, InsertedShuffle); in optimizeShuffleVectorInst()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DInterleavedAccessPass.cpp299 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(*UI); in lowerInterleavedLoad() local
300 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
303 Shuffles.push_back(SVI); in lowerInterleavedLoad()
347 for (auto SVI : Shuffles) in lowerInterleavedLoad() local
348 DeadInsts.push_back(SVI); in lowerInterleavedLoad()
423 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(SI->getValueOperand()); in lowerInterleavedStore() local
424 if (!SVI || !SVI->hasOneUse()) in lowerInterleavedStore()
429 unsigned OpNumElts = SVI->getOperand(0)->getType()->getVectorNumElements(); in lowerInterleavedStore()
430 if (!isReInterleaveMask(SVI->getShuffleMask(), Factor, MaxFactor, OpNumElts)) in lowerInterleavedStore()
436 if (!TLI->lowerInterleavedStore(SI, SVI, Factor)) in lowerInterleavedStore()
[all …]
DInterleavedLoadCombinePass.cpp670 ShuffleVectorInst *SVI; member
679 : BB(nullptr), PV(nullptr), LIs(), Is(), SVI(nullptr), VTy(VTy) { in VectorInfo()
713 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute() local
714 if (SVI) in compute()
715 return computeFromSVI(SVI, Result, DL); in compute()
770 Result.SVI = nullptr; in computeFromBCI()
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
788 VectorType *ArgTy = dyn_cast<VectorType>(SVI->getOperand(0)->getType()); in computeFromSVI()
793 if (!compute(SVI->getOperand(0), LHS, DL)) in computeFromSVI()
798 if (!compute(SVI->getOperand(1), RHS, DL)) in computeFromSVI()
[all …]
DCodeGenPrepare.cpp378 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
6219 static bool isBroadcastShuffle(ShuffleVectorInst *SVI) { in isBroadcastShuffle() argument
6220 SmallVector<int, 16> Mask(SVI->getShuffleMask()); in isBroadcastShuffle()
6235 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
6236 BasicBlock *DefBB = SVI->getParent(); in optimizeShuffleVectorInst()
6239 if (!TLI || !TLI->isVectorShiftByScalarCheap(SVI->getType())) in optimizeShuffleVectorInst()
6244 if (!isBroadcastShuffle(SVI)) in optimizeShuffleVectorInst()
6251 for (User *U : SVI->users()) { in optimizeShuffleVectorInst()
6269 new ShuffleVectorInst(SVI->getOperand(0), SVI->getOperand(1), in optimizeShuffleVectorInst()
6270 SVI->getOperand(2), "", &*InsertPt); in optimizeShuffleVectorInst()
[all …]
/external/llvm/lib/Transforms/InstCombine/
DInstCombineVectorOps.cpp225 } else if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst() local
229 int SrcIdx = SVI->getMaskValue(Elt->getZExtValue()); in visitExtractElementInst()
232 SVI->getOperand(0)->getType()->getVectorNumElements(); in visitExtractElementInst()
237 Src = SVI->getOperand(0); in visitExtractElementInst()
240 Src = SVI->getOperand(1); in visitExtractElementInst()
904 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS() argument
907 cast<VectorType>(SVI.getOperand(0)->getType())->getNumElements(); in isShuffleExtractingFromLHS()
919 Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
920 Value *LHS = SVI.getOperand(0); in visitShuffleVectorInst()
921 Value *RHS = SVI.getOperand(1); in visitShuffleVectorInst()
[all …]
DInstCombineCasts.cpp1891 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast() local
1894 if (SVI->hasOneUse() && DestTy->isVectorTy() && in visitBitCast()
1895 DestTy->getVectorNumElements() == SVI->getType()->getNumElements() && in visitBitCast()
1896 SVI->getType()->getNumElements() == in visitBitCast()
1897 SVI->getOperand(0)->getType()->getVectorNumElements()) { in visitBitCast()
1902 if (((Tmp = dyn_cast<BitCastInst>(SVI->getOperand(0))) && in visitBitCast()
1904 ((Tmp = dyn_cast<BitCastInst>(SVI->getOperand(1))) && in visitBitCast()
1906 Value *LHS = Builder->CreateBitCast(SVI->getOperand(0), DestTy); in visitBitCast()
1907 Value *RHS = Builder->CreateBitCast(SVI->getOperand(1), DestTy); in visitBitCast()
1910 return new ShuffleVectorInst(LHS, RHS, SVI->getOperand(2)); in visitBitCast()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/
DInstCombineVectorOps.cpp407 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst() local
411 int SrcIdx = SVI->getMaskValue(Elt->getZExtValue()); in visitExtractElementInst()
414 SVI->getOperand(0)->getType()->getVectorNumElements(); in visitExtractElementInst()
419 Src = SVI->getOperand(0); in visitExtractElementInst()
422 Src = SVI->getOperand(1); in visitExtractElementInst()
1399 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS() argument
1401 unsigned LHSElems = SVI.getOperand(0)->getType()->getVectorNumElements(); in isShuffleExtractingFromLHS()
1901 Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
1902 Value *LHS = SVI.getOperand(0); in visitShuffleVectorInst()
1903 Value *RHS = SVI.getOperand(1); in visitShuffleVectorInst()
[all …]
/external/llvm-project/llvm/lib/Transforms/InstCombine/
DInstCombineVectorOps.cpp433 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst() local
437 if (isa<FixedVectorType>(SVI->getType()) && isa<ConstantInt>(Index)) { in visitExtractElementInst()
439 SVI->getMaskValue(cast<ConstantInt>(Index)->getZExtValue()); in visitExtractElementInst()
441 unsigned LHSWidth = cast<FixedVectorType>(SVI->getOperand(0)->getType()) in visitExtractElementInst()
447 Src = SVI->getOperand(0); in visitExtractElementInst()
450 Src = SVI->getOperand(1); in visitExtractElementInst()
1734 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS() argument
1737 cast<FixedVectorType>(SVI.getOperand(0)->getType())->getNumElements(); in isShuffleExtractingFromLHS()
2278 Instruction *InstCombinerImpl::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
2279 Value *LHS = SVI.getOperand(0); in visitShuffleVectorInst()
[all …]
/external/llvm/lib/Transforms/Scalar/
DScalarizer.cpp545 bool Scalarizer::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
546 VectorType *VT = dyn_cast<VectorType>(SVI.getType()); in visitShuffleVectorInst()
551 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0)); in visitShuffleVectorInst()
552 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1)); in visitShuffleVectorInst()
557 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
565 gather(&SVI, Res); in visitShuffleVectorInst()
/external/llvm/lib/Analysis/
DVectorUtils.cpp260 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V)) { in findScalarElement() local
261 unsigned LHSWidth = SVI->getOperand(0)->getType()->getVectorNumElements(); in findScalarElement()
262 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
266 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
267 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
/external/llvm-project/llvm/lib/Target/X86/
DX86InterleavedAccess.cpp180 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose() local
181 Value *Op0 = SVI->getOperand(0); in decompose()
182 Value *Op1 = SVI->getOperand(1); in decompose()
830 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
835 assert(cast<FixedVectorType>(SVI->getType())->getNumElements() % Factor == in lowerInterleavedStore()
842 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
846 ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI); in lowerInterleavedStore()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/X86/
DX86InterleavedAccess.cpp180 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose() local
181 Value *Op0 = SVI->getOperand(0); in decompose()
182 Value *Op1 = SVI->getOperand(1); in decompose()
824 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
829 assert(SVI->getType()->getVectorNumElements() % Factor == 0 && in lowerInterleavedStore()
835 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
839 ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI); in lowerInterleavedStore()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DScalarizer.cpp195 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
737 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
738 VectorType *VT = dyn_cast<VectorType>(SVI.getType()); in visitShuffleVectorInst()
743 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0)); in visitShuffleVectorInst()
744 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1)); in visitShuffleVectorInst()
749 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
757 gather(&SVI, Res); in visitShuffleVectorInst()
/external/llvm-project/llvm/lib/Transforms/Scalar/
DScalarizer.cpp203 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
816 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
817 VectorType *VT = dyn_cast<VectorType>(SVI.getType()); in visitShuffleVectorInst()
822 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0)); in visitShuffleVectorInst()
823 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1)); in visitShuffleVectorInst()
828 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
836 gather(&SVI, Res); in visitShuffleVectorInst()
DGVNSink.cpp361 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr() local
362 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
/external/llvm-project/llvm/lib/Bitcode/Writer/
DValueEnumerator.cpp191 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule() local
192 orderValue(SVI->getShuffleMaskForBitcode(), OM); in orderModule()
323 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder() local
324 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM, in predictUseListOrder()
457 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator() local
458 EnumerateType(SVI->getShuffleMaskForBitcode()->getType()); in ValueEnumerator()
1017 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction() local
1018 EnumerateValue(SVI->getShuffleMaskForBitcode()); in incorporateFunction()
/external/llvm-project/llvm/lib/Analysis/
DVectorUtils.cpp302 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement() local
304 if (SVI && isa<FixedVectorType>(SVI->getType())) { in findScalarElement()
306 cast<FixedVectorType>(SVI->getOperand(0)->getType())->getNumElements(); in findScalarElement()
307 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
311 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
312 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DVectorUtils.cpp288 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V)) { in findScalarElement() local
289 unsigned LHSWidth = SVI->getOperand(0)->getType()->getVectorNumElements(); in findScalarElement()
290 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
294 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
295 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
/external/llvm-project/llvm/lib/IR/
DInstruction.cpp461 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState() local
462 return SVI->getShuffleMask() == in haveSameSpecialState()
/external/llvm-project/llvm/lib/Target/ARM/
DARMISelLowering.h411 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
612 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/external/llvm-project/llvm/lib/Transforms/Utils/
DFunctionComparator.cpp666 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations() local
667 ArrayRef<int> LMask = SVI->getShuffleMask(); in cmpOperations()

123