Searched refs:NewBB (Results 1 - 25 of 46) sorted by relevance

12

/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLoopUtils.cpp39 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 DBranchRelaxation.cpp213 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 DMachineDominators.cpp107 if (PredBB == Edge.NewBB)
138 // We know FromBB dominates NewBB.
139 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
H A DModuloSchedule.cpp204 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 DShrinkWrap.cpp559 MachineBasicBlock *NewBB; local
564 NewBB = Save;
570 NewBB = Restore;
572 updateSaveRestorePoints(*NewBB, RS.get());
H A DStackProtector.cpp490 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 DBreakCriticalEdges.cpp162 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 DCloneFunction.cpp45 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 DBasicBlockUtils.cpp552 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 DLoopUnrollPeel.cpp508 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 DLoopUnrollRuntime.cpp321 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 DCodeExtractor.cpp648 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 DLoopSimplify.cpp86 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 DMachineDominators.h54 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 DModuloSchedule.h189 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 DMSP430BranchSelector.cpp152 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 DJumpThreading.h113 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 DVPlan.cpp119 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 DMipsConstantIslandPass.cpp387 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 DJumpThreading.cpp1932 /// 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 DGVNHoist.cpp393 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 DARMConstantIslandPass.cpp254 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 DGenericDomTree.h613 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 DAArch64PromoteConstant.cpp398 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 DCoroFrame.cpp687 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...]

Completed in 204 milliseconds

12