Lines Matching refs:Instruction
71 using ChainOfDependences = SmallVector<Instruction *, 4>;
100 void push_back(Instruction *I) { in push_back()
108 Instruction *front() const { in front()
112 Instruction *back() const { in back()
116 Instruction *&operator[](const int index) { in operator []()
136 Instruction *Inst2Replace = nullptr;
141 Instruction *BackedgeInst = nullptr;
142 std::map<Instruction *, DepChain *> DepChains;
195 std::set<Instruction *> ReplacedInsts;
202 void findDepChainFromPHI(Instruction *I, DepChain &D);
205 DepChain *getDepChainBtwn(Instruction *I1, Instruction *I2, int Iters);
206 bool isEquivalentOperation(Instruction *I1, Instruction *I2);
207 bool canReplace(Instruction *I);
323 bool HexagonVectorLoopCarriedReuse::isEquivalentOperation(Instruction *I1, in isEquivalentOperation()
324 Instruction *I2) { in isEquivalentOperation()
355 bool HexagonVectorLoopCarriedReuse::canReplace(Instruction *I) { in canReplace()
382 Instruction *BEInst = D->back(); in findValueToReuse()
388 SmallVector<Instruction *, 4> PNUsers; in findValueToReuse()
390 Instruction *User = cast<Instruction>(U.getUser()); in findValueToReuse()
416 for (Instruction *I : PNUsers) { in findValueToReuse()
418 Instruction *BEUser = cast<Instruction>(U.getUser()); in findValueToReuse()
436 std::map<Instruction *, DepChain *> DepChains; in findValueToReuse()
442 Instruction *OpInst = dyn_cast<Instruction>(Op); in findValueToReuse()
446 Instruction *BEOpInst = dyn_cast<Instruction>(BEOp); in findValueToReuse()
476 Instruction *OpInst = dyn_cast<Instruction>(Op); in findValueToReuse()
486 Instruction *BEOpInst = dyn_cast<Instruction>(BEOp); in findValueToReuse()
522 Instruction *Inst2Replace = ReuseCandidate.Inst2Replace; in reuseValue()
523 Instruction *BEInst = ReuseCandidate.BackedgeInst; in reuseValue()
525 std::map<Instruction *, DepChain *> &DepChains = ReuseCandidate.DepChains; in reuseValue()
531 SmallVector<Instruction *, 4> InstsInPreheader; in reuseValue()
533 Instruction *InstInPreheader = Inst2Replace->clone(); in reuseValue()
536 Instruction *I = dyn_cast<Instruction>(Inst2Replace->getOperand(j)); in reuseValue()
559 Instruction *InstInPreheader = InstsInPreheader[i]; in reuseValue()
601 void HexagonVectorLoopCarriedReuse::findDepChainFromPHI(Instruction *I, in findDepChainFromPHI()
621 Instruction *BEInst = dyn_cast<Instruction>(BEVal); in findDepChainFromPHI()
628 if(!PreHdrVal || !isa<Instruction>(PreHdrVal)) { in findDepChainFromPHI()
637 DepChain *HexagonVectorLoopCarriedReuse::getDepChainBtwn(Instruction *I1, in getDepChainBtwn()
638 Instruction *I2, in getDepChainBtwn()