/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineLoopUtils.cpp | 39 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock()); local 41 MF.insert(Loop->getIterator(), NewBB); 43 MF.insert(std::next(Loop->getIterator()), NewBB); 47 auto InsertPt = NewBB->end(); 50 NewBB->insert(InsertPt, NewMI); 75 for (auto I = NewBB->getFirstNonPHI(); I != NewBB->end(); ++I) 80 for (auto I = NewBB->begin(); I->isPHI(); ++I) { 108 Preheader->replaceSuccessor(Loop, NewBB); 109 NewBB [all...] |
H A D | BranchRelaxation.cpp | 213 MachineBasicBlock *NewBB = local 215 MF->insert(++BB.getIterator(), NewBB); 218 BlockInfo.insert(BlockInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 220 return NewBB; 231 MachineBasicBlock *NewBB = local 233 MF->insert(++OrigBB->getIterator(), NewBB); 235 // Splice the instructions starting with MI over to NewBB. 236 NewBB->splice(NewBB->end(), OrigBB, MI.getIterator(), OrigBB->end()); 238 // Add an unconditional branch from OrigBB to NewBB 305 MachineBasicBlock *NewBB = nullptr; local [all...] |
H A D | MachineDominators.cpp | 107 if (PredBB == Edge.NewBB) 138 // We know FromBB dominates NewBB. 139 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
|
H A D | ModuloSchedule.cpp | 204 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); local 205 PrologBBs.push_back(NewBB); 206 MF.insert(BB->getIterator(), NewBB); 207 NewBB->transferSuccessors(PredBB); 208 PredBB->addSuccessor(NewBB); 209 PredBB = NewBB; 223 NewBB->push_back(NewMI); 228 rewritePhiValues(NewBB, i, VRMap, InstrMap); 231 NewBB->dump(); 278 MachineBasicBlock *NewBB local 365 generateExistingPhis( MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2, MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap, unsigned LastStageNum, unsigned CurStageNum, bool IsLast) argument 603 generatePhis( MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2, MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap, unsigned LastStageNum, unsigned CurStageNum, bool IsLast) argument 1107 rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum, ValueMapTy *VRMap, InstrMapTy &InstrMap) argument 1571 MachineBasicBlock *NewBB = PeelSingleBlockLoop(LPD, BB, MRI, TII); local 1836 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); local [all...] |
H A D | ShrinkWrap.cpp | 559 MachineBasicBlock *NewBB; local 564 NewBB = Save; 570 NewBB = Restore; 572 updateSaveRestorePoints(*NewBB, RS.get());
|
H A D | StackProtector.cpp | 490 BasicBlock *NewBB = BB->splitBasicBlock(RI->getIterator(), "SP_return"); local 494 DT->addNewBlock(NewBB, BB); 503 NewBB->moveAfter(BB); 517 B.CreateCondBr(Cmp, NewBB, FailBB, Weights);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | BreakCriticalEdges.cpp | 162 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(), 165 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); 169 TI->setSuccessor(SuccNum, NewBB); 174 F.getBasicBlockList().insert(++FBBI, NewBB); 177 // merge incoming values from NewBB instead of from TIBB. 181 // We no longer enter through TIBB, now we come in through NewBB. 183 // TIBB to come from NewBB. 193 PN->setIncomingBlock(BBIdx, NewBB); 207 // We found another edge to DestBB, go to NewBB instead. 208 TI->setSuccessor(i, NewBB); [all...] |
H A D | CloneFunction.cpp | 45 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); local 47 NewBB->setName(BB->getName() + NameSuffix); 60 NewBB->getInstList().push_back(NewInst); 78 return NewBB; 310 BasicBlock *NewBB; 311 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); 312 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 326 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); 366 NewBB->getInstList().push_back(NewInst); 398 VMap[OldTI] = BranchInst::Create(Dest, NewBB); 495 BasicBlock *NewBB = cast_or_null<BasicBlock>(V); local 525 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); local 802 BasicBlock *NewBB = CloneBasicBlock(BB, VMap, NameSuffix, F); local 848 BasicBlock *NewBB = SplitEdge(PredBB, BB); local [all...] |
H A D | BasicBlockUtils.cpp | 552 static void UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, argument 560 assert(NewBB == &NewBB->getParent()->getEntryBlock()); 561 DT->setNewRoot(NewBB); 563 // Split block expects NewBB to have a non-empty set of predecessors. 564 DT->splitBlock(NewBB); 570 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds); 587 // as true and make the NewBB the header of some loop. This breaks LI. 633 InnermostPredLoop->addBasicBlockToLoop(NewBB, *LI); 635 L->addBasicBlockToLoop(NewBB, *L 643 UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, ArrayRef<BasicBlock *> Preds, BranchInst *BI, bool HasLoopExit) argument 730 BasicBlock *NewBB = BasicBlock::Create( local [all...] |
H A D | LoopUnrollPeel.cpp | 508 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".peel", F); 509 NewBlocks.push_back(NewBB); 512 ParentLoop->addBasicBlockToLoop(NewBB, *LI); 514 VMap[*BB] = NewBB; 519 DT->addNewBlock(NewBB, InsertTop); 523 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()]));
|
H A D | LoopUnrollRuntime.cpp | 321 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); local 322 NewBlocks.push_back(NewBB); 328 addClonedBlockToLoopInfo(*BB, NewBB, LI, NewLoops); 330 VMap[*BB] = NewBB; 334 InsertTop->getTerminator()->setSuccessor(0, NewBB); 340 DT->addNewBlock(NewBB, InsertTop); 344 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDomBB])); 353 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); 368 NewIdx->addIncoming(IdxSub, NewBB);
|
H A D | CodeExtractor.cpp | 648 BasicBlock *NewBB = SplitBlock(Header, Header->getFirstNonPHI(), DT); local 654 Blocks.insert(NewBB); 655 Header = NewBB; 662 // changing them to branch to NewBB instead. 666 TI->replaceUsesOfWith(OldPred, NewBB); 670 // just have to update the PHI nodes now, inserting PHI nodes into NewBB. 677 PN->getName() + ".ce", &NewBB->front()); 701 BasicBlock *NewBB = nullptr; local 718 if (!NewBB) { 719 NewBB [all...] |
H A D | LoopSimplify.cpp | 86 static void placeSplitBlockCarefully(BasicBlock *NewBB, argument 89 // Check to see if NewBB is already well placed. 90 Function::iterator BBI = --NewBB->getIterator(); 105 if (++BBI != NewBB->getParent()->end() && L->contains(&*BBI)) { 116 NewBB->moveAfter(FoundBB); 155 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 261 BasicBlock *NewBB = SplitBlockPredecessors(Header, OuterLoopPreds, ".outer", local 264 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 266 placeSplitBlockCarefully(NewBB, OuterLoopPreds, L); 307 OuterLoopBlocks.push_back(NewBB); [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachineDominators.h | 54 MachineBasicBlock *NewBB; member in struct:llvm::MachineDominatorTree::CriticalEdge 64 /// Invariant: NewBBs == all the basic blocks contained in the NewBB 67 /// such as BB == elt.NewBB. 212 void splitBlock(MachineBasicBlock* NewBB) { argument 214 DT->splitBlock(NewBB); 231 /// split with NewBB. 244 MachineBasicBlock *NewBB) { 245 bool Inserted = NewBBs.insert(NewBB).second; 249 CriticalEdgesToSplit.push_back({FromBB, ToBB, NewBB}); 242 recordSplitCriticalEdge(MachineBasicBlock *FromBB, MachineBasicBlock *ToBB, MachineBasicBlock *NewBB) argument
|
H A D | ModuloSchedule.h | 189 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1, 194 void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1, 218 void rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/MSP430/ |
H A D | MSP430BranchSelector.cpp | 152 MachineBasicBlock *NewBB = local 154 MF->insert(std::next(MBB), NewBB); local 156 // Splice the instructions following MI over to the NewBB. 157 NewBB->splice(NewBB->end(), &*MBB, std::next(MI), MBB->end()); 164 MBB->replaceSuccessor(Succ, NewBB); 165 NewBB->addSuccessor(Succ);
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | JumpThreading.h | 113 void UpdateSSA(BasicBlock *BB, BasicBlock *NewBB, 117 BasicBlock *NewBB, 165 BasicBlock *NewBB, BasicBlock *SuccBB);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VPlan.cpp | 119 BasicBlock *NewBB = BasicBlock::Create(PrevBB->getContext(), getName(), local 121 LLVM_DEBUG(dbgs() << "LV: created " << NewBB->getName() << '\n'); 149 BranchInst::Create(NewBB, PredBB); 156 PredBBTerminator->setSuccessor(idx, NewBB); 159 return NewBB; 167 BasicBlock *NewBB = State->CFG.PrevBB; // Reuse it if possible. local 182 NewBB = createEmptyBasicBlock(State->CFG); 183 State->Builder.SetInsertPoint(NewBB); 187 // Register NewBB in its loop. In innermost loops its the same for all BB's. 189 L->addBasicBlockToLoop(NewBB, *Stat [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Mips/ |
H A D | MipsConstantIslandPass.cpp | 387 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB); 828 (MachineBasicBlock *NewBB) { 830 NewBB->getParent()->RenumberBlocks(NewBB); 834 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 838 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); 839 WaterList.insert(IP, NewBB); 854 MachineBasicBlock *NewBB = local 857 MF->insert(MBBI, NewBB); 859 // Splice the instructions starting with MI over to NewBB 827 updateForInsertedWaterBlock(MachineBasicBlock *NewBB) argument 891 WaterList.insert(std::next(IP), NewBB); local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 1932 /// Update the SSA form. NewBB contains instructions that are copied from BB. 1933 /// ValueMapping maps old values in BB to new ones in NewBB. 1935 BasicBlock *BB, BasicBlock *NewBB, 1968 SSAUpdate.AddAvailableValue(NewBB, ValueMapping[&I]); 1976 /// Clone instructions in range [BI, BE) to NewBB. For PHI nodes, we only clone 1981 BasicBlock::iterator BE, BasicBlock *NewBB, 1984 // copy of the block 'NewBB'. If there are PHI nodes in the source basic 1988 // Clone the phi nodes of the source basic block into NewBB. The resulting 1989 // phi nodes are trivial since NewBB only has one predecessor, but SSAUpdater 1992 PHINode *NewPN = PHINode::Create(PN->getType(), 1, PN->getName(), NewBB); 1934 UpdateSSA( BasicBlock *BB, BasicBlock *NewBB, DenseMap<Instruction *, Value *> &ValueMapping) argument 1980 CloneInstructions(BasicBlock::iterator BI, BasicBlock::iterator BE, BasicBlock *NewBB, BasicBlock *PredBB) argument 2087 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), local 2205 UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB, BasicBlock *NewBB, BasicBlock *SuccBB) argument 2442 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "select.unfold", local 2615 BasicBlock *NewBB = Term->getParent(); local [all...] |
H A D | GVNHoist.cpp | 393 const BasicBlock *NewBB = NewPt->getParent(); local 405 if (BB == NewBB) { 447 const BasicBlock *NewBB = NewPt->getParent(); local 449 assert(DT->dominates(NewBB, OldBB) && "invalid path"); 450 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) && 454 // CFG from OldBB to NewBB. These blocks are all the blocks that may be 455 // executed between the execution of NewBB and OldBB. Hoisting an expression 456 // from OldBB into NewBB has to be safe on all execution paths. 459 if (BB == NewBB) { 524 const BasicBlock *NewBB local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMConstantIslandPass.cpp | 254 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB); 869 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) { argument 871 NewBB->getParent()->RenumberBlocks(NewBB); 875 BBUtils->insert(NewBB->getNumber(), BasicBlockInfo()); 879 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); 880 WaterList.insert(IP, NewBB); 897 MachineBasicBlock *NewBB = local 900 MF->insert(MBBI, NewBB); 902 // Splice the instructions starting with MI over to NewBB 946 WaterList.insert(std::next(IP), NewBB); local 2382 MachineBasicBlock *NewBB = local 2424 MachineBasicBlock *NewBB = local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericDomTree.h | 613 void changeImmediateDominator(NodeT *BB, NodeT *NewBB) { argument 614 changeImmediateDominator(getNode(BB), getNode(NewBB)); 651 void splitBlock(NodeT *NewBB) { argument 653 Split<Inverse<NodeT *>>(NewBB); 655 Split<NodeT *>(NewBB); 769 // NewBB is split and now it has one successor. Update dominator tree to 772 void Split(typename GraphTraits<N>::NodeRef NewBB) { argument 775 assert(std::distance(GraphT::child_begin(NewBB), 776 GraphT::child_end(NewBB)) == 1 && 777 "NewBB shoul [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64PromoteConstant.cpp | 398 BasicBlock *NewBB = NewPt->getParent(); local 407 if (NewBB == CurBB) { 419 BasicBlock *CommonDominator = DT.findNearestCommonDominator(NewBB, CurBB); 424 if (CommonDominator != NewBB) { 431 // else, CommonDominator is the block of NewBB, hence NewBB is the last
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Coroutines/ |
H A D | CoroFrame.cpp | 687 auto NewBB = SplitEdge(II->getParent(), II->getNormalDest()); local 688 InsertPt = NewBB->getTerminator(); 843 auto *NewBB = BasicBlock::Create(BB->getContext(), "", BB->getParent(), Succ); 844 setUnwindEdgeTo(BB->getTerminator(), NewBB); 845 updatePhiNodes(Succ, BB, NewBB, LandingPadReplacement); 849 auto *Terminator = BranchInst::Create(Succ, NewBB); 851 LandingPadReplacement->addIncoming(NewLP, NewBB); 852 return NewBB; 862 auto *NewCleanupPad = CleanupPadInst::Create(ParentPad, {}, "", NewBB); 863 CleanupReturnInst::Create(NewCleanupPad, Succ, NewBB); [all...] |