| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 104 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 D | SLPVectorizer.cpp | 423 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 D | InterleavedAccessPass.cpp | 125 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 D | MemoryBuiltins.h | 36 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 D | Context.cpp | 87 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 D | DXILDataScalarization.cpp | 74 bool visitExtractElementInst(ExtractElementInst &EEI); 92 bool replaceDynamicExtractElementInst(ExtractElementInst &EEI); 279 ExtractElementInst &EEI) { in replaceDynamicExtractElementInst() 295 bool DataScalarizerVisitor::visitExtractElementInst(ExtractElementInst &EEI) { in visitExtractElementInst()
|
| H A D | DXILOpLowering.cpp | 388 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 D | DXILLegalizePass.cpp | 308 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 D | InstCombineVectorOps.cpp | 100 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 D | InstCombineInternal.h | 176 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 D | Context.h | 170 LLVM_ABI ExtractElementInst * 171 createExtractElementInst(llvm::ExtractElementInst *EEI); 172 friend ExtractElementInst; // For createExtractElementInst()
|
| H A D | Values.def | 64 DEF_INSTR(ExtractElement, OP(ExtractElement), ExtractElementInst)
|
| H A D | Value.h | 115 friend class ExtractElementInst; // For getting `Val`. variable
|
| H A D | Instruction.h | 66 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 D | BottomUpVec.cpp | 229 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 D | X86PartialReduction.cpp | 351 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 D | CodeMetrics.cpp | 177 if (isa<ExtractElementInst>(I) || I.getType()->isVectorTy()) in analyzeBasicBlock()
|
| H A D | Lint.cpp | 115 void visitExtractElementInst(ExtractElementInst &I); 624 void Lint::visitExtractElementInst(ExtractElementInst &I) { in visitExtractElementInst()
|
| /freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/ |
| H A D | Interpreter.h | 163 void visitExtractElementInst(ExtractElementInst &I);
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | RewriteStatepointsForGC.cpp | 615 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 D | InstVisitor.h | 191 RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);} in visitExtractElementInst()
|
| H A D | Instruction.def | 214 HANDLE_OTHER_INST(61, ExtractElement, ExtractElementInst)// extract from vector
|
| H A D | Instructions.h | 1808 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 D | AMDGPUPerfHintAnalysis.cpp | 185 if (const auto *E = dyn_cast<ExtractElementInst>(V)) { in isIndirectAccess()
|
| /freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/ |
| H A D | Operations.cpp | 319 return ExtractElementInst::Create(Srcs[0], Srcs[1], "E", InsertPt); in extractElementDescriptor()
|