reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
464 Ret.MI = &MIParam; 467 Ret.IsNullary = 1; 468 Ret.TrueDefs = std::make_pair(nullptr, nullptr); 469 Ret.CopyDefs = std::make_pair(nullptr, nullptr); 472 Ret.SubregDef1, Ret.CopyDefs.first); 472 Ret.SubregDef1, Ret.CopyDefs.first); 473 Ret.DefsSingleUse &= 475 Ret.DefsSingleUse &= 476 MRI->hasOneNonDBGUse(Ret.CopyDefs.first->getOperand(0).getReg()); 479 Ret.IsBinary = 1; 481 Ret.SubregDef2, 482 Ret.CopyDefs.second); 483 Ret.DefsSingleUse &= 485 Ret.DefsSingleUse &= 486 MRI->hasOneNonDBGUse(Ret.CopyDefs.second->getOperand(0).getReg()); 488 Ret.TrueDefs = std::make_pair(Def1, Def2); 490 Ret.TrueDefs = std::make_pair(Def1, nullptr); 491 Ret.CopyDefs.second = nullptr; 495 Ret.ContainedInBlock = 1; 501 Ret.FeedsISEL = 1; 504 Ret.FeedsBR = 1; 505 Ret.FeedsLogical = isCRLogical(UseMI); 507 Ret.ContainedInBlock = 0; 509 Ret.SingleUse = MRI->hasOneNonDBGUse(MIParam.getOperand(0).getReg()) ? 1 : 0; 512 if (!Ret.IsNullary) { 513 Ret.ContainedInBlock &= 514 (MIParam.getParent() == Ret.TrueDefs.first->getParent()); 515 if (Ret.IsBinary) 516 Ret.ContainedInBlock &= 517 (MIParam.getParent() == Ret.TrueDefs.second->getParent()); 519 LLVM_DEBUG(Ret.dump()); 520 if (Ret.IsBinary && Ret.ContainedInBlock && Ret.SingleUse) { 520 if (Ret.IsBinary && Ret.ContainedInBlock && Ret.SingleUse) { 520 if (Ret.IsBinary && Ret.ContainedInBlock && Ret.SingleUse) { 522 if (Ret.FeedsBR && Ret.DefsSingleUse) 522 if (Ret.FeedsBR && Ret.DefsSingleUse) 525 return Ret;