Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp501 if (auto *IE = dyn_cast<InsertElementInst>(I)) { in visitExtractElementInst()
656 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectSingleShuffleElements()
706 static bool replaceExtractElements(InsertElementInst *InsElt, in replaceExtractElements()
752 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
810 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectShuffleElements()
1291 static Instruction *foldInsSequenceIntoSplat(InsertElementInst &InsElt) { in foldInsSequenceIntoSplat()
1294 if (InsElt.hasOneUse() && isa<InsertElementInst>(InsElt.user_back())) in foldInsSequenceIntoSplat()
1310 InsertElementInst *CurrIE = &InsElt; in foldInsSequenceIntoSplat()
1312 InsertElementInst *FirstIE = nullptr; in foldInsSequenceIntoSplat()
1321 auto *NextIE = dyn_cast<InsertElementInst>(CurrIE->getOperand(0)); in foldInsSequenceIntoSplat()
[all …]
H A DInstCombineNegator.cpp385 auto *IEI = cast<InsertElementInst>(I); in visitImpl()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DSLPVectorizer.h37 class InsertElementInst; variable
138 bool vectorizeInsertElementInst(InsertElementInst *IEI, BasicBlock *BB,
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp93 auto *LLVMIns = cast<llvm::InsertElementInst>(LLVMV); in getOrCreateValueInternal()
94 It->second = std::unique_ptr<InsertElementInst>( in getOrCreateValueInternal()
95 new InsertElementInst(LLVMIns, *this)); in getOrCreateValueInternal()
484 InsertElementInst *
485 Context::createInsertElementInst(llvm::InsertElementInst *IEI) { in createInsertElementInst()
487 std::unique_ptr<InsertElementInst>(new InsertElementInst(IEI, *this)); in createInsertElementInst()
488 return cast<InsertElementInst>(registerValue(std::move(NewPtr))); in createInsertElementInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/
H A DDXILDataScalarization.cpp73 bool visitInsertElementInst(InsertElementInst &IEI);
91 bool replaceDynamicInsertElementInst(InsertElementInst &IEI);
234 InsertElementInst &IEI) { in replaceDynamicInsertElementInst()
270 bool DataScalarizerVisitor::visitInsertElementInst(InsertElementInst &IEI) { in visitInsertElementInst()
H A DDXILOpLowering.cpp623 auto *IEI = dyn_cast<InsertElementInst>(Data); in lowerBufferStore()
631 IEI = dyn_cast<InsertElementInst>(IEI->getOperand(0)); in lowerBufferStore()
667 auto *IEI = dyn_cast<InsertElementInst>(Data); in lowerBufferStore()
669 InsertElementInst *Tmp = IEI; in lowerBufferStore()
670 IEI = dyn_cast<InsertElementInst>(IEI->getOperand(0)); in lowerBufferStore()
H A DDXILFlattenArrays.cpp70 bool visitInsertElementInst(InsertElementInst &IEI) { return false; } in visitInsertElementInst()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DContext.h167 LLVM_ABI InsertElementInst *
168 createInsertElementInst(llvm::InsertElementInst *IEI);
169 friend InsertElementInst; // For createInsertElementInst()
H A DValues.def65 DEF_INSTR(InsertElement, OP(InsertElement), InsertElementInst)
H A DValue.h116 friend class InsertElementInst; // For getting `Val`. variable
H A DInstruction.h67 friend class InsertElementInst; // For getTopmostLLVMInstruction(). variable
475 class InsertElementInst final
476 : public SingleLLVMInstructionImpl<llvm::InsertElementInst> {
478 InsertElementInst(llvm::Instruction *I, Context &Ctx) in InsertElementInst() function
492 return llvm::InsertElementInst::isValidOperands(Vec->Val, NewElt->Val, in isValidOperands()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/
H A DBottomUpVec.cpp235 auto *InsertI = InsertElementInst::create( in createPack()
246 LastInsert = InsertElementInst::create(LastInsert, Elm, InsertLaneC, in createPack()
430 LastV = InsertElementInst::create(LastV, ValueToInsert, LaneC, in emitVectors()
446 LastV = InsertElementInst::create(LastV, ExtrI, InsLaneC, WhereIt, in emitVectors()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/
H A DVecUtils.h231 if (!isa<InsertElementInst>(I))
259 InsertI = dyn_cast<InsertElementInst>(Op);
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVRegularizer.cpp121 Repl = InsertElementInst::Create( in runLowerConstExpr()
232 Instruction *Inst = InsertElementInst::Create( in visitCallScalToVec()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DReplaceConstant.cpp42 V = InsertElementInst::Create(V, Op, ConstantInt::get(IdxTy, Idx), "", in expandUser()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp383 if (isa<InsertElementInst>(I)) { in findBaseDefiningValueOfVector()
666 !isa<ExtractElementInst>(V) && !isa<InsertElementInst>(V) && in isOriginalBaseResult()
844 isa<ExtractElementInst>(BDV) || isa<InsertElementInst>(BDV) || in findBasePointer()
873 } else if (auto *IE = dyn_cast<InsertElementInst>(BDV)) { in findBasePointer()
996 if (isa<InsertElementInst>(I) || isa<ExtractElementInst>(I)) in findBasePointer()
1098 assert(!isa<InsertElementInst>(I) || State.isConflict()); in findBasePointer()
1110 } else if (isa<InsertElementInst>(I)) { in findBasePointer()
1227 } else if (auto *BaseIE = dyn_cast<InsertElementInst>(State.getBaseValue())){ in findBasePointer()
1228 auto *BdvIE = cast<InsertElementInst>(BDV); in findBasePointer()
H A DScalarizer.cpp293 bool visitInsertElementInst(InsertElementInst &IEI);
406 InsertElementInst *Insert = dyn_cast<InsertElementInst>(V); in operator []()
1013 bool ScalarizerVisitor::visitInsertElementInst(InsertElementInst &IEI) { in visitInsertElementInst()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h164 void visitInsertElementInst(InsertElementInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DSLPVectorizer.cpp253 if (auto *IE = dyn_cast<InsertElementInst>(V)) in getValueType()
423 if (!isa<InsertElementInst, ExtractElementInst>(V) && in isVectorLikeInstWithConstOps()
433 assert(isa<InsertElementInst>(V) && "Expected only insertelement."); in isVectorLikeInstWithConstOps()
570 static_assert(std::is_same_v<T, InsertElementInst> || in getInsertExtractIndex()
595 if (auto Index = getInsertExtractIndex<InsertElementInst>(Inst, Offset)) in getElementIndex()
697 while (auto *II = dyn_cast<InsertElementInst>(Base)) {
6548 InsertElementInst *VU, InsertElementInst *V, in areTwoInsertFromSameBuildVector()
6549 function_ref<Value *(InsertElementInst *)> GetBaseOperand) { in areTwoInsertFromSameBuildVector()
6583 IE1 = dyn_cast_or_null<InsertElementInst>(GetBaseOperand(IE1)); in areTwoInsertFromSameBuildVector()
6592 IE2 = dyn_cast_or_null<InsertElementInst>(GetBaseOperand(IE2)); in areTwoInsertFromSameBuildVector()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
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
H A DInstructions.h1867 class InsertElementInst : public Instruction {
1870 LLVM_ABI InsertElementInst(Value *Vec, Value *NewElt, Value *Idx,
1878 LLVM_ABI InsertElementInst *cloneImpl() const;
1881 static InsertElementInst *Create(Value *Vec, Value *NewElt, Value *Idx,
1885 InsertElementInst(Vec, NewElt, Idx, NameStr, InsertBefore);
1912 struct OperandTraits<InsertElementInst> :
1913 public FixedNumOperandTraits<InsertElementInst, 3> {
1916 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(InsertElementInst, Value)
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLint.cpp116 void visitInsertElementInst(InsertElementInst &I);
633 void Lint::visitInsertElementInst(InsertElementInst &I) { in visitInsertElementInst()
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp327 return InsertElementInst::Create(Srcs[0], Srcs[1], Srcs[2], "I", InsertPt); in insertElementDescriptor()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULateCodeGenPrepare.cpp143 return isa<PHINode, ShuffleVectorInst, InsertElementInst, in isCoercionProfitable()

123