Home
last modified time | relevance | path

Searched refs:InsertElementInst (Results 1 – 25 of 47) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp501 if (auto *IE = dyn_cast<InsertElementInst>(I)) { in visitExtractElementInst()
644 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectSingleShuffleElements()
694 static bool replaceExtractElements(InsertElementInst *InsElt, in replaceExtractElements()
740 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
798 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectShuffleElements()
1213 static Instruction *foldInsSequenceIntoSplat(InsertElementInst &InsElt) { in foldInsSequenceIntoSplat()
1216 if (InsElt.hasOneUse() && isa<InsertElementInst>(InsElt.user_back())) in foldInsSequenceIntoSplat()
1232 InsertElementInst *CurrIE = &InsElt; in foldInsSequenceIntoSplat()
1234 InsertElementInst *FirstIE = nullptr; in foldInsSequenceIntoSplat()
1243 auto *NextIE = dyn_cast<InsertElementInst>(CurrIE->getOperand(0)); in foldInsSequenceIntoSplat()
[all …]
H A DInstCombineCasts.cpp656 auto *InsElt = dyn_cast<InsertElementInst>(Trunc.getOperand(0)); in shrinkInsertElt()
671 return InsertElementInst::Create(NarrowUndef, NarrowOp, Index); in shrinkInsertElt()
2089 return InsertElementInst::Create(Vec, NewCast, Index); in visitPtrToInt()
2685 return InsertElementInst::Create(PoisonValue::get(DestTy), Elem, in visitBitCast()
2724 if (auto *InsElt = dyn_cast<InsertElementInst>(Src)) in visitBitCast()
H A DInstCombineNegator.cpp386 auto *IEI = cast<InsertElementInst>(I); in visitImpl()
H A DInstCombineInternal.h174 Instruction *visitInsertElementInst(InsertElementInst &IE);
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DSLPVectorizer.h37 class InsertElementInst; variable
140 bool vectorizeInsertElementInst(InsertElementInst *IEI, BasicBlock *BB,
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVRegularizer.cpp128 Repl = InsertElementInst::Create( in runLowerConstExpr()
224 // CI->getOperand(1) to a vector Arg0Ty. However, we use InsertElementInst in visitCallScalToVec()
238 InsertElementInst::Create(PVal, CI->getOperand(1), ConstInt, "", CI); in visitCallScalToVec()
H A DSPIRVEmitIntrinsics.cpp159 Instruction *visitInsertElementInst(InsertElementInst &I);
1223 Instruction *SPIRVEmitIntrinsics::visitInsertElementInst(InsertElementInst &I) { in visitInsertElementInst()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DSLPVectorizer.cpp266 if (!isa<InsertElementInst, ExtractElementInst>(V) && in isVectorLikeInstWithConstOps()
276 assert(isa<InsertElementInst>(V) && "Expected only insertelement."); in isVectorLikeInstWithConstOps()
389 static_assert(std::is_same_v<T, InsertElementInst> || in getInsertExtractIndex()
414 if (auto Index = getInsertExtractIndex<InsertElementInst>(Inst, Offset)) in getElementIndex()
494 while (auto *II = dyn_cast<InsertElementInst>(Base)) {
4877 InsertElementInst *VU, InsertElementInst *V, in areTwoInsertFromSameBuildVector()
4878 function_ref<Value *(InsertElementInst *)> GetBaseOperand) { in areTwoInsertFromSameBuildVector()
4912 IE1 = dyn_cast_or_null<InsertElementInst>(GetBaseOperand(IE1)); in areTwoInsertFromSameBuildVector()
4921 IE2 = dyn_cast_or_null<InsertElementInst>(GetBaseOperan in areTwoInsertFromSameBuildVector()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DReplaceConstant.cpp42 V = InsertElementInst::Create(V, Op, ConstantInt::get(IdxTy, Idx), "", in expandUser()
H A DInstructions.cpp1625 InsertElementInst::InsertElementInst(Value *Vec, Value *Elt, Value *Index, in InsertElementInst() function in InsertElementInst
1629 OperandTraits<InsertElementInst>::op_begin(this), 3, in InsertElementInst()
1639 bool InsertElementInst::isValidOperands(const Value *Vec, const Value *Elt, in isValidOperands()
4330 InsertElementInst *InsertElementInst::cloneImpl() const { in cloneImpl()
4331 return InsertElementInst::Create(getOperand(0), getOperand(1), getOperand(2)); in cloneImpl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp384 if (isa<InsertElementInst>(I)) { in findBaseDefiningValueOfVector()
660 !isa<ExtractElementInst>(V) && !isa<InsertElementInst>(V) && in isOriginalBaseResult()
838 isa<ExtractElementInst>(BDV) || isa<InsertElementInst>(BDV) || in findBasePointer()
867 } else if (auto *IE = dyn_cast<InsertElementInst>(BDV)) { in findBasePointer()
990 if (isa<InsertElementInst>(I) || isa<ExtractElementInst>(I)) in findBasePointer()
1092 assert(!isa<InsertElementInst>(I) || State.isConflict()); in findBasePointer()
1104 } else if (isa<InsertElementInst>(I)) { in findBasePointer()
1221 } else if (auto *BaseIE = dyn_cast<InsertElementInst>(State.getBaseValue())){ in findBasePointer()
1222 auto *BdvIE = cast<InsertElementInst>(BDV); in findBasePointer()
H A DScalarizer.cpp305 bool visitInsertElementInst(InsertElementInst &IEI);
390 InsertElementInst *Insert = dyn_cast<InsertElementInst>(V); in operator []()
962 bool ScalarizerVisitor::visitInsertElementInst(InsertElementInst &IEI) { in visitInsertElementInst()
H A DEarlyCSE.cpp149 isa<InsertElementInst>(Inst) || isa<ShuffleVectorInst>(Inst) || in canHandle()
312 isa<InsertElementInst>(Inst) || isa<ShuffleVectorInst>(Inst) || in getHashValueImpl()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h164 void visitInsertElementInst(InsertElementInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLint.cpp118 void visitInsertElementInst(InsertElementInst &I);
600 void Lint::visitInsertElementInst(InsertElementInst &I) { in visitInsertElementInst()
H A DLazyValueInfo.cpp431 solveBlockValueInsertElement(InsertElementInst *IEI, BasicBlock *BB);
662 if (auto *IEI = dyn_cast<InsertElementInst>(BBI)) in solveBlockValueImpl()
1047 LazyValueInfoImpl::solveBlockValueInsertElement(InsertElementInst *IEI, in solveBlockValueInsertElement()
H A DVectorUtils.cpp178 if (InsertElementInst *III = dyn_cast<InsertElementInst>(V)) { in findScalarElement()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstructions.h1744 class InsertElementInst : public Instruction {
1745 InsertElementInst(Value *Vec, Value *NewElt, Value *Idx,
1753 InsertElementInst *cloneImpl() const;
1756 static InsertElementInst *Create(Value *Vec, Value *NewElt, Value *Idx,
1759 return new(3) InsertElementInst(Vec, NewElt, Idx, NameStr, InsertBefore);
1786 struct OperandTraits<InsertElementInst> :
1787 public FixedNumOperandTraits<InsertElementInst, 3> {
1790 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(InsertElementInst, Value)
H A DInstVisitor.h192 RetTy visitInsertElementInst(InsertElementInst &I) { DELEGATE(Instruction);} in visitInsertElementInst()
H A DInstruction.def215 HANDLE_OTHER_INST(62, InsertElement, InsertElementInst) // insert into vector
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp322 return InsertElementInst::Create(Srcs[0], Srcs[1], Srcs[2], "I", Inst); in insertElementDescriptor()
/freebsd/contrib/llvm-project/llvm/tools/llvm-stress/
H A Dllvm-stress.cpp530 Value *V = InsertElementInst::Create( in Act()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerBufferFatPointers.cpp761 PtrParts visitInsertElementInst(InsertElementInst &I);
1431 PtrParts SplitPtrStructs::visitInsertElementInst(InsertElementInst &I) { in visitInsertElementInst()
H A DAMDGPUPromoteAlloca.cpp1209 if (isa<InsertValueInst>(User) || isa<InsertElementInst>(User)) in collectUsesWithPtrTypes()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h1342 auto *IE = dyn_cast<InsertElementInst>(U); in getInstructionCost()

12