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()
440 for (auto *Extract : Extracts) { in tryReplaceExtracts() local
442 auto *IndexOperand = cast<ConstantInt>(Extract->getIndexOperand()); in tryReplaceExtracts()
451 if (!DT->dominates(Shuffle, Extract)) in tryReplaceExtracts()
461 assert(Extract->getOperand(0) == Shuffle->getOperand(0) && in tryReplaceExtracts()
463 ReplacementMap[Extract] = std::make_pair(Shuffle, I); in tryReplaceExtracts()
468 if (ReplacementMap.count(Extract)) in tryReplaceExtracts()
474 if (!ReplacementMap.count(Extract)) in tryReplaceExtracts()
481 auto *Extract = Replacement.first; in tryReplaceExtracts() local
484 Builder.SetInsertPoint(Extract); in tryReplaceExtracts()
485 Extract->replaceAllUsesWith(Builder.CreateExtractElement(Vector, Index)); in tryReplaceExtracts()
486 Extract->eraseFromParent(); in tryReplaceExtracts()