Lines Matching refs:GuardInst
112 static void eliminateGuard(Instruction *GuardInst) { in eliminateGuard() argument
113 GuardInst->eraseFromParent(); in eliminateGuard()
342 Instruction *GuardInst, const df_iterator<DomTreeNode *> &DFSI, in eliminateGuardViaWidening() argument
348 if (isa<ConstantInt>(getCondition(GuardInst))) in eliminateGuardViaWidening()
353 auto *GuardInstLoop = LI.getLoopFor(GuardInst->getParent()); in eliminateGuardViaWidening()
382 assert((i == (e - 1)) == (GuardInst->getParent() == CurBB) && "Bad DFS?"); in eliminateGuardViaWidening()
384 if (i == (e - 1) && CurBB->getTerminator() != GuardInst) { in eliminateGuardViaWidening()
387 auto NewEnd = std::find(I, E, GuardInst); in eliminateGuardViaWidening()
394 computeWideningScore(GuardInst, GuardInstLoop, Candidate, CurLoop, in eliminateGuardViaWidening()
396 LLVM_DEBUG(dbgs() << "Score between " << *getCondition(GuardInst) in eliminateGuardViaWidening()
407 LLVM_DEBUG(dbgs() << "Did not eliminate guard " << *GuardInst << "\n"); in eliminateGuardViaWidening()
411 assert(BestSoFar != GuardInst && "Should have never visited same guard!"); in eliminateGuardViaWidening()
412 assert(DT.dominates(BestSoFar, GuardInst) && "Should be!"); in eliminateGuardViaWidening()
414 LLVM_DEBUG(dbgs() << "Widening " << *GuardInst << " into " << *BestSoFar in eliminateGuardViaWidening()
417 widenGuard(BestSoFar, getCondition(GuardInst), InvertCondition); in eliminateGuardViaWidening()
419 ? ConstantInt::getFalse(GuardInst->getContext()) in eliminateGuardViaWidening()
420 : ConstantInt::getTrue(GuardInst->getContext()); in eliminateGuardViaWidening()
421 setCondition(GuardInst, NewGuardCondition); in eliminateGuardViaWidening()
422 EliminatedGuardsAndBranches.push_back(GuardInst); in eliminateGuardViaWidening()