reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/PowerPC/PPCBranchCoalescing.cpp
  208   BranchBlock = nullptr;
  235                     << Cand.BranchBlock->getNumber() << " can be coalesced:");
  238   if (TII->analyzeBranch(*Cand.BranchBlock, Cand.BranchTargetBlock, FalseMBB,
  244   for (auto &I : Cand.BranchBlock->terminators()) {
  269   if (Cand.BranchBlock->isEHPad() || Cand.BranchBlock->hasEHPadSuccessor()) {
  269   if (Cand.BranchBlock->isEHPad() || Cand.BranchBlock->hasEHPadSuccessor()) {
  277       !Cand.BranchBlock->isSuccessor(Cand.BranchTargetBlock)) {
  283   if (Cand.BranchBlock->succ_size() != 2) {
  289   assert(Cand.BranchBlock->canFallThrough() &&
  296     (*Cand.BranchBlock->succ_begin() == Cand.BranchTargetBlock)
  297     ? *Cand.BranchBlock->succ_rbegin()
  298     : *Cand.BranchBlock->succ_begin();
  489   if (TargetRegion.BranchTargetBlock != SourceRegion.BranchBlock)
  491   else if (!MDT->dominates(TargetRegion.BranchBlock, SourceRegion.BranchBlock))
  491   else if (!MDT->dominates(TargetRegion.BranchBlock, SourceRegion.BranchBlock))
  493   else if (!MPDT->dominates(SourceRegion.BranchBlock, TargetRegion.BranchBlock))
  493   else if (!MPDT->dominates(SourceRegion.BranchBlock, TargetRegion.BranchBlock))
  536            I = SourceRegion.BranchBlock->instr_begin(),
  537            E = SourceRegion.BranchBlock->getFirstNonPHI();
  549         if (Use.getParent() == SourceRegion.BranchBlock) {
  561            I = SourceRegion.BranchBlock->getFirstNonPHI(),
  562            E = SourceRegion.BranchBlock->end();
  569     if (!canMoveToEnd(*I, *TargetRegion.BranchBlock)) {
  648   moveAndUpdatePHIs(SourceRegion.BranchBlock, SourceRegion.BranchTargetBlock);
  653       SourceRegion.BranchBlock->getFirstNonPHI();
  655       SourceRegion.BranchBlock->getFirstTerminator();
  659                                   : TargetRegion.BranchBlock;
  664           : TargetRegion.BranchBlock->getFirstTerminator();
  666   Source->splice(Target, SourceRegion.BranchBlock, firstInstr, lastInstr);
  673   SourceRegion.BranchBlock->removeSuccessor(SourceRegion.FallThroughBlock);
  674   TargetRegion.BranchBlock->transferSuccessorsAndUpdatePHIs(
  675       SourceRegion.BranchBlock);
  679   TargetRegion.BranchBlock->ReplaceUsesOfBlockWith(
  680       SourceRegion.BranchBlock, SourceRegion.BranchTargetBlock);
  683       SourceRegion.BranchBlock->terminators().begin();
  684   while (I != SourceRegion.BranchBlock->terminators().end()) {
  700   TargetRegion.FallThroughBlock->removeSuccessor(SourceRegion.BranchBlock);
  703   assert(SourceRegion.BranchBlock->empty() &&
  705   SourceRegion.BranchBlock->eraseFromParent();
  738       Cand1.BranchBlock = &MBB;
  744       Cand2.BranchBlock = Cand1.BranchTargetBlock;
  751       assert(MPDT->dominates(Cand2.BranchTargetBlock, Cand1.BranchBlock) &&
  755         LLVM_DEBUG(dbgs() << "Blocks " << Cand1.BranchBlock->getNumber()
  756                           << " and " << Cand2.BranchBlock->getNumber()
  762                           << Cand1.BranchBlock->getNumber() << " and "
  763                           << Cand2.BranchBlock->getNumber() << "\n");
  767       LLVM_DEBUG(dbgs() << "Merging blocks " << Cand1.BranchBlock->getNumber()