Lines Matching defs:LI

304     BasicBlock::const_iterator LI = L->begin(), LE = L->end();
308 assert(LI != LE && RI != R->end());
309 const Instruction *LeftI = &*LI, *RightI = &*RI;
327 ++LI;
329 } while (LI != LE); // This is sufficient: we can't get equality of
334 for (LI = L->begin(), RI = R->begin(); LI != LE; ++LI, ++RI)
335 unify(&*LI, &*RI);
339 void runBlockDiff(BasicBlock::const_iterator LI,
389 const PHINode &LI = cast<PHINode>(*L);
393 if (LI.getType() != RI.getType()) {
394 if (!LI.getType()->isPointerTy() || !RI.getType()->isPointerTy()) {
400 if (LI.getNumIncomingValues() != RI.getNumIncomingValues()) {
406 for (unsigned I = 0; I < LI.getNumIncomingValues(); ++I) {
408 tryUnify(LI.getIncomingBlock(I), RI.getIncomingBlock(I));
410 if (!equivalentAsOperands(LI.getIncomingValue(I),
422 const InvokeInst &LI = cast<InvokeInst>(*L);
424 if (diffCallSites(LI, RI, Complain))
428 tryUnify(LI.getNormalDest(), RI.getNormalDest());
429 tryUnify(LI.getUnwindDest(), RI.getUnwindDest());
434 const CallBrInst &LI = cast<CallBrInst>(*L);
436 if (LI.getNumIndirectDests() != RI.getNumIndirectDests()) {
444 for (unsigned I = 0; I < LI.getNumIndirectDests(); I++)
445 tryUnify(LI.getIndirectDest(I), RI.getIndirectDest(I));
447 if (diffCallSites(LI, RI, Complain))
451 tryUnify(LI.getDefaultDest(), RI.getDefaultDest());
455 const BranchInst *LI = cast<BranchInst>(L);
457 if (LI->isConditional() != RI->isConditional()) {
462 if (LI->isConditional()) {
463 if (!equivalentAsOperands(LI->getCondition(), RI->getCondition(), AC)) {
467 if (TryUnify) tryUnify(LI->getSuccessor(1), RI->getSuccessor(1));
469 if (TryUnify) tryUnify(LI->getSuccessor(0), RI->getSuccessor(0));
473 const IndirectBrInst *LI = cast<IndirectBrInst>(L);
475 if (LI->getNumDestinations() != RI->getNumDestinations()) {
480 if (!equivalentAsOperands(LI->getAddress(), RI->getAddress(), AC)) {
486 for (unsigned i = 0; i < LI->getNumDestinations(); i++) {
487 tryUnify(LI->getDestination(i), RI->getDestination(i));
493 const SwitchInst *LI = cast<SwitchInst>(L);
495 if (!equivalentAsOperands(LI->getCondition(), RI->getCondition(), AC)) {
499 if (TryUnify) tryUnify(LI->getDefaultDest(), RI->getDefaultDest());
504 for (auto Case : LI->cases())
774 for (Function::const_arg_iterator LI = L->arg_begin(), LE = L->arg_end(),
776 LI != LE && RI != RE; ++LI, ++RI)
777 Values[&*LI] = &*RI;
830 for (BasicBlock::const_iterator LI = LStart; LI != LE; ++LI, ++Index) {
831 if (matchForBlockDiff(&*LI, &*RI)) {
835 TentativeValues.insert(std::make_pair(&*LI, &*RI));
855 BasicBlock::const_iterator LI = LStart, RI = RStart;
867 unify(&*LI, &*RI);
869 ++LI;
876 assert(LI != LE && RI != RE);
878 const Instruction *L = &*LI, *R = &*RI;
882 ++LI; ++RI;
886 assert(LI != LE);
887 Diff.addLeft(&*LI);
888 ++LI;
901 while (LI != LE) {
903 unify(&*LI, &*RI);
904 ++LI;