Lines Matching refs:Instr
131 /// Try to eliminate instruction \p Instr by widening it into an earlier
136 Instruction *Instr, const df_iterator<DomTreeNode *> &DFSI,
328 Instruction *Instr, const df_iterator<DomTreeNode *> &DFSI,
334 if (isa<ConstantInt>(getCondition(Instr)))
350 auto E = Instr->getParent() == CurBB
351 ? std::find(GuardsInCurBB.begin(), GuardsInCurBB.end(), Instr)
368 assert((i == (e - 1)) == (Instr->getParent() == CurBB) && "Bad DFS?");
371 auto Score = computeWideningScore(Instr, Candidate, InvertCondition);
372 LLVM_DEBUG(dbgs() << "Score between " << *getCondition(Instr)
383 LLVM_DEBUG(dbgs() << "Did not eliminate guard " << *Instr << "\n");
387 assert(BestSoFar != Instr && "Should have never visited same guard!");
388 assert(DT.dominates(BestSoFar, Instr) && "Should be!");
390 LLVM_DEBUG(dbgs() << "Widening " << *Instr << " into " << *BestSoFar
393 widenGuard(BestSoFar, getCondition(Instr), InvertCondition);
395 ? ConstantInt::getFalse(Instr->getContext())
396 : ConstantInt::getTrue(Instr->getContext());
397 setCondition(Instr, NewGuardCondition);
398 EliminatedGuardsAndBranches.push_back(Instr);