Lines Matching refs:Extract
308 auto *Extract = dyn_cast<ExtractElementInst>(User); in lowerInterleavedLoad() local
309 if (Extract && isa<ConstantInt>(Extract->getIndexOperand())) { in lowerInterleavedLoad()
310 Extracts.push_back(Extract); in lowerInterleavedLoad()
439 for (auto *Extract : Extracts) { in tryReplaceExtracts() local
441 auto *IndexOperand = cast<ConstantInt>(Extract->getIndexOperand()); in tryReplaceExtracts()
450 if (!DT->dominates(Shuffle, Extract)) in tryReplaceExtracts()
460 assert(Extract->getOperand(0) == Shuffle->getOperand(0) && in tryReplaceExtracts()
462 ReplacementMap[Extract] = std::make_pair(Shuffle, I); in tryReplaceExtracts()
467 if (ReplacementMap.count(Extract)) in tryReplaceExtracts()
473 if (!ReplacementMap.count(Extract)) in tryReplaceExtracts()
480 auto *Extract = Replacement.first; in tryReplaceExtracts() local
483 Builder.SetInsertPoint(Extract); in tryReplaceExtracts()
484 Extract->replaceAllUsesWith(Builder.CreateExtractElement(Vector, Index)); in tryReplaceExtracts()
485 Extract->eraseFromParent(); in tryReplaceExtracts()