Home
last modified time | relevance | path

Searched refs:ExtractElementInst (Results 1 – 25 of 64) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp104 ExtractElementInst *getShuffleExtract(ExtractElementInst *Ext0,
105 ExtractElementInst *Ext1,
107 bool isExtractExtractCheap(ExtractElementInst *Ext0, ExtractElementInst *Ext1,
109 ExtractElementInst *&ConvertToShuffle,
111 void foldExtExtCmp(ExtractElementInst *Ext0, ExtractElementInst *Ext1,
113 void foldExtExtBinop(ExtractElementInst *Ext0, ExtractElementInst *Ext1,
379 ExtractElementInst *VectorCombine::getShuffleExtract( in getShuffleExtract()
380 ExtractElementInst *Ext0, ExtractElementInst *Ext1, in getShuffleExtract()
428 bool VectorCombine::isExtractExtractCheap(ExtractElementInst *Ext0, in isExtractExtractCheap()
429 ExtractElementInst *Ext1, in isExtractExtractCheap()
[all …]
H A DSLPVectorizer.cpp423 if (!isa<InsertElementInst, ExtractElementInst>(V) && in isVectorLikeInstWithConstOps()
431 if (isa<ExtractElementInst>(I)) in isVectorLikeInstWithConstOps()
571 std::is_same_v<T, ExtractElementInst>, in getInsertExtractIndex()
597 if (auto Index = getInsertExtractIndex<ExtractElementInst>(Inst, Offset)) in getElementIndex()
755 const auto *It = find_if(VL, IsaPred<ExtractElementInst>); in isFixedVectorShuffle()
760 auto *EI = dyn_cast<ExtractElementInst>(V); in isFixedVectorShuffle()
772 auto *EE = dyn_cast<ExtractElementInst>(V); in isFixedVectorShuffle()
787 auto *EI = cast<ExtractElementInst>(VL[I]); in isFixedVectorShuffle()
1455 } else if (auto *EI = dyn_cast<ExtractElementInst>(I)) { in getSameOpcode()
2387 (isa<ExtractElementInst>(I1) && isa<ExtractElementInst>(I2))) && in getScoreAtLevelRec()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp125 bool tryReplaceExtracts(ArrayRef<ExtractElementInst *> Extracts,
289 SmallVector<ExtractElementInst *, 4> Extracts; in lowerInterleavedLoad()
295 auto *Extract = dyn_cast<ExtractElementInst>(User); in lowerInterleavedLoad()
439 ArrayRef<ExtractElementInst *> Extracts, in tryReplaceExtracts()
448 DenseMap<ExtractElementInst *, std::pair<Value *, int>> ReplacementMap; in tryReplaceExtracts()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemoryBuiltins.h36 class ExtractElementInst; variable
288 LLVM_ABI OffsetSpan visitExtractElementInst(ExtractElementInst &I);
370 LLVM_ABI SizeOffsetValue visitExtractElementInst(ExtractElementInst &I);
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp87 auto *LLVMIns = cast<llvm::ExtractElementInst>(LLVMV); in getOrCreateValueInternal()
88 It->second = std::unique_ptr<ExtractElementInst>( in getOrCreateValueInternal()
89 new ExtractElementInst(LLVMIns, *this)); in getOrCreateValueInternal()
477 ExtractElementInst *
478 Context::createExtractElementInst(llvm::ExtractElementInst *EEI) { in createExtractElementInst()
480 std::unique_ptr<ExtractElementInst>(new ExtractElementInst(EEI, *this)); in createExtractElementInst()
481 return cast<ExtractElementInst>(registerValue(std::move(NewPtr))); in createExtractElementInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/
H A DDXILDataScalarization.cpp74 bool visitExtractElementInst(ExtractElementInst &EEI);
92 bool replaceDynamicExtractElementInst(ExtractElementInst &EEI);
279 ExtractElementInst &EEI) { in replaceDynamicExtractElementInst()
295 bool DataScalarizerVisitor::visitExtractElementInst(ExtractElementInst &EEI) { in visitExtractElementInst()
H A DDXILOpLowering.cpp388 SmallVector<ExtractElementInst *> DynamicAccesses; in replaceResRetUses()
393 if (auto *EEI = dyn_cast<ExtractElementInst>(U.getUser())) { in replaceResRetUses()
428 for (ExtractElementInst *EEI : DynamicAccesses) { in replaceResRetUses()
H A DDXILLegalizePass.cpp308 if (auto *Extract = dyn_cast<ExtractElementInst>(&I)) { in downcastI64toI32InsertExtractElements()
530 if (auto *Extract = dyn_cast<ExtractElementInst>(&I)) { in legalizeGetHighLowi64Bytes()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp100 Instruction *InstCombinerImpl::scalarizePHI(ExtractElementInst &EI, in scalarizePHI()
109 if (ExtractElementInst *EU = dyn_cast<ExtractElementInst>(U)) { in scalarizePHI()
149 ExtractElementInst::Create(B0->getOperand(opId), Elt, in scalarizePHI()
158 Instruction *newEI = ExtractElementInst::Create(PHIInVal, Elt, ""); in scalarizePHI()
183 Instruction *InstCombinerImpl::foldBitcastExtElt(ExtractElementInst &Ext) { in foldBitcastExtElt()
262 return ExtractElementInst::Create(NewBC, Ext.getIndexOperand()); in foldBitcastExtElt()
331 ExtractElementInst *EEI = cast<ExtractElementInst>(UserInstr); in findDemandedEltsBySingleUser()
398 Instruction *InstCombinerImpl::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst()
549 return ExtractElementInst::Create(SVI->getOperand(0), in visitExtractElementInst()
575 return ExtractElementInst::Create( in visitExtractElementInst()
[all …]
H A DInstCombineInternal.h176 Instruction *visitExtractElementInst(ExtractElementInst &EI);
386 Instruction *scalarizePHI(ExtractElementInst &EI, PHINode *PN);
387 Instruction *foldBitcastExtElt(ExtractElementInst &ExtElt);
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DContext.h170 LLVM_ABI ExtractElementInst *
171 createExtractElementInst(llvm::ExtractElementInst *EEI);
172 friend ExtractElementInst; // For createExtractElementInst()
H A DValues.def64 DEF_INSTR(ExtractElement, OP(ExtractElement), ExtractElementInst)
H A DValue.h115 friend class ExtractElementInst; // For getting `Val`. variable
H A DInstruction.h66 friend class ExtractElementInst; // For getTopmostLLVMInstruction(). variable
497 class ExtractElementInst final
498 : public SingleLLVMInstructionImpl<llvm::ExtractElementInst> {
500 ExtractElementInst(llvm::Instruction *I, Context &Ctx) in ExtractElementInst() function
514 return llvm::ExtractElementInst::isValidOperands(Vec->Val, Idx->Val); in isValidOperands()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/
H A DBottomUpVec.cpp229 ExtractElementInst::create(Elm, ExtrLaneC, WhereIt, Ctx, "VPack"); in createPack()
420 ValueToInsert = ExtractElementInst::create( in emitVectors()
442 auto *ExtrI = ExtractElementInst::create(ValueToInsert, ExtrIdxC, in emitVectors()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86PartialReduction.cpp351 static Value *matchAddReduction(const ExtractElementInst &EE, in matchAddReduction()
513 auto *EE = dyn_cast<ExtractElementInst>(&I); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DCodeMetrics.cpp177 if (isa<ExtractElementInst>(I) || I.getType()->isVectorTy()) in analyzeBasicBlock()
H A DLint.cpp115 void visitExtractElementInst(ExtractElementInst &I);
624 void Lint::visitExtractElementInst(ExtractElementInst &I) { in visitExtractElementInst()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h163 void visitExtractElementInst(ExtractElementInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp615 if (isa<ExtractElementInst>(I)) in findBaseDefiningValue()
666 !isa<ExtractElementInst>(V) && !isa<InsertElementInst>(V) && in isOriginalBaseResult()
844 isa<ExtractElementInst>(BDV) || isa<InsertElementInst>(BDV) || in findBasePointer()
871 } else if (auto *EE = dyn_cast<ExtractElementInst>(BDV)) { in findBasePointer()
996 if (isa<InsertElementInst>(I) || isa<ExtractElementInst>(I)) in findBasePointer()
1108 } else if (isa<ExtractElementInst>(I)) { in findBasePointer()
1222 dyn_cast<ExtractElementInst>(State.getBaseValue())) { in findBasePointer()
1223 Value *InVal = cast<ExtractElementInst>(BDV)->getVectorOperand(); in findBasePointer()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstVisitor.h191 RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);} in visitExtractElementInst()
H A DInstruction.def214 HANDLE_OTHER_INST(61, ExtractElement, ExtractElementInst)// extract from vector
H A DInstructions.h1808 class ExtractElementInst : public Instruction {
1811 LLVM_ABI ExtractElementInst(Value *Vec, Value *Idx, const Twine &NameStr = "",
1818 LLVM_ABI ExtractElementInst *cloneImpl() const;
1821 static ExtractElementInst *Create(Value *Vec, Value *Idx,
1825 ExtractElementInst(Vec, Idx, NameStr, InsertBefore);
1854 struct OperandTraits<ExtractElementInst> :
1855 public FixedNumOperandTraits<ExtractElementInst, 2> {
1858 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ExtractElementInst, Value)
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPerfHintAnalysis.cpp185 if (const auto *E = dyn_cast<ExtractElementInst>(V)) { in isIndirectAccess()
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp319 return ExtractElementInst::Create(Srcs[0], Srcs[1], "E", InsertPt); in extractElementDescriptor()

123