Home
last modified time | relevance | path

Searched refs:NewBB (Results 1 – 25 of 50) sorted by relevance

12

/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/
DMachineLoopUtils.cpp39 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock()); in PeelSingleBlockLoop() local
41 MF.insert(Loop->getIterator(), NewBB); in PeelSingleBlockLoop()
43 MF.insert(std::next(Loop->getIterator()), NewBB); in PeelSingleBlockLoop()
46 auto InsertPt = NewBB->end(); in PeelSingleBlockLoop()
49 NewBB->insert(InsertPt, NewMI); in PeelSingleBlockLoop()
74 for (auto I = NewBB->getFirstNonPHI(); I != NewBB->end(); ++I) in PeelSingleBlockLoop()
79 for (auto I = NewBB->begin(); I->isPHI(); ++I) { in PeelSingleBlockLoop()
107 Preheader->replaceSuccessor(Loop, NewBB); in PeelSingleBlockLoop()
108 NewBB->addSuccessor(Loop); in PeelSingleBlockLoop()
109 Loop->replacePhiUsesWith(Preheader, NewBB); in PeelSingleBlockLoop()
[all …]
DBranchRelaxation.cpp208 MachineBasicBlock *NewBB = in createNewBlockAfter() local
210 MF->insert(++BB.getIterator(), NewBB); in createNewBlockAfter()
213 BlockInfo.insert(BlockInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in createNewBlockAfter()
215 return NewBB; in createNewBlockAfter()
226 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
228 MF->insert(++OrigBB->getIterator(), NewBB); in splitBlockBeforeInstr()
231 NewBB->splice(NewBB->end(), OrigBB, MI.getIterator(), OrigBB->end()); in splitBlockBeforeInstr()
237 TII->insertUnconditionalBranch(*OrigBB, NewBB, DebugLoc()); in splitBlockBeforeInstr()
240 BlockInfo.insert(BlockInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in splitBlockBeforeInstr()
242 NewBB->transferSuccessors(OrigBB); in splitBlockBeforeInstr()
[all …]
DModuloSchedule.cpp203 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); in generateProlog() local
204 PrologBBs.push_back(NewBB); in generateProlog()
205 MF.insert(BB->getIterator(), NewBB); in generateProlog()
206 NewBB->transferSuccessors(PredBB); in generateProlog()
207 PredBB->addSuccessor(NewBB); in generateProlog()
208 PredBB = NewBB; in generateProlog()
222 NewBB->push_back(NewMI); in generateProlog()
227 rewritePhiValues(NewBB, i, VRMap, InstrMap); in generateProlog()
230 NewBB->dump(); in generateProlog()
277 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(); in generateEpilog() local
[all …]
DMachineDominators.cpp107 if (PredBB == Edge.NewBB) in applySplitCriticalEdges()
139 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB); in applySplitCriticalEdges()
DShrinkWrap.cpp552 MachineBasicBlock *NewBB; in runOnMachineFunction() local
557 NewBB = Save; in runOnMachineFunction()
563 NewBB = Restore; in runOnMachineFunction()
565 updateSaveRestorePoints(*NewBB, RS.get()); in runOnMachineFunction()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
DBreakCriticalEdges.cpp174 BasicBlock *NewBB = nullptr; in SplitKnownCriticalEdge() local
176 NewBB = BasicBlock::Create(TI->getContext(), BBName); in SplitKnownCriticalEdge()
178 NewBB = BasicBlock::Create(TI->getContext(), TIBB->getName() + "." + in SplitKnownCriticalEdge()
182 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); in SplitKnownCriticalEdge()
188 F.getBasicBlockList().insert(++FBBI, NewBB); in SplitKnownCriticalEdge()
191 TI->setSuccessor(SuccNum, NewBB); in SplitKnownCriticalEdge()
210 PN->setIncomingBlock(BBIdx, NewBB); in SplitKnownCriticalEdge()
225 TI->setSuccessor(i, NewBB); in SplitKnownCriticalEdge()
235 DestBB, NewBB, {TIBB}, Options.MergeIdenticalEdges); in SplitKnownCriticalEdge()
238 return NewBB; in SplitKnownCriticalEdge()
[all …]
DCloneFunction.cpp47 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); in CloneBasicBlock() local
49 NewBB->setName(BB->getName() + NameSuffix); in CloneBasicBlock()
62 NewBB->getInstList().push_back(NewInst); in CloneBasicBlock()
77 return NewBB; in CloneBasicBlock()
355 BasicBlock *NewBB; in CloneBlock() local
356 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); in CloneBlock()
358 NewBB->setName(BB->getName() + NameSuffix); in CloneBlock()
372 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
412 NewBB->getInstList().push_back(NewInst); in CloneBlock()
446 VMap[OldTI] = BranchInst::Create(Dest, NewBB); in CloneBlock()
[all …]
DBasicBlockUtils.cpp612 auto *NewBB = in ehAwareSplitEdge() local
614 setUnwindEdgeTo(BB->getTerminator(), NewBB); in ehAwareSplitEdge()
615 updatePhiNodes(Succ, BB, NewBB, LandingPadReplacement); in ehAwareSplitEdge()
619 auto *Terminator = BranchInst::Create(Succ, NewBB); in ehAwareSplitEdge()
621 LandingPadReplacement->addIncoming(NewLP, NewBB); in ehAwareSplitEdge()
635 auto *NewCleanupPad = CleanupPadInst::Create(ParentPad, {}, BBName, NewBB); in ehAwareSplitEdge()
636 CleanupReturnInst::Create(NewCleanupPad, Succ, NewBB); in ehAwareSplitEdge()
642 return NewBB; in ehAwareSplitEdge()
648 Updates.push_back({DominatorTree::Insert, BB, NewBB}); in ehAwareSplitEdge()
649 Updates.push_back({DominatorTree::Insert, NewBB, Succ}); in ehAwareSplitEdge()
[all …]
DLoopUnrollRuntime.cpp324 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); in CloneLoopBlocks() local
325 NewBlocks.push_back(NewBB); in CloneLoopBlocks()
331 addClonedBlockToLoopInfo(*BB, NewBB, LI, NewLoops); in CloneLoopBlocks()
333 VMap[*BB] = NewBB; in CloneLoopBlocks()
337 InsertTop->getTerminator()->setSuccessor(0, NewBB); in CloneLoopBlocks()
343 DT->addNewBlock(NewBB, InsertTop); in CloneLoopBlocks()
347 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDomBB])); in CloneLoopBlocks()
356 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); in CloneLoopBlocks()
371 NewIdx->addIncoming(IdxSub, NewBB); in CloneLoopBlocks()
DLoopSimplify.cpp86 static void placeSplitBlockCarefully(BasicBlock *NewBB, in placeSplitBlockCarefully() argument
90 Function::iterator BBI = --NewBB->getIterator(); in placeSplitBlockCarefully()
105 if (++BBI != NewBB->getParent()->end() && L->contains(&*BBI)) { in placeSplitBlockCarefully()
116 NewBB->moveAfter(FoundBB); in placeSplitBlockCarefully()
277 BasicBlock *NewBB = SplitBlockPredecessors(Header, OuterLoopPreds, ".outer", in separateNestedLoop() local
282 placeSplitBlockCarefully(NewBB, OuterLoopPreds, L); in separateNestedLoop()
322 OuterLoopBlocks.push_back(NewBB); in separateNestedLoop()
DLoopPeel.cpp523 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".peel", F); in cloneLoopBlocks() local
524 NewBlocks.push_back(NewBB); in cloneLoopBlocks()
530 ParentLoop->addBasicBlockToLoop(NewBB, *LI); in cloneLoopBlocks()
532 VMap[*BB] = NewBB; in cloneLoopBlocks()
537 DT->addNewBlock(NewBB, InsertTop); in cloneLoopBlocks()
541 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()])); in cloneLoopBlocks()
DCodeExtractor.cpp696 BasicBlock *NewBB = SplitBlock(Header, Header->getFirstNonPHI(), DT); in severSplitPHINodesOfEntry() local
702 Blocks.insert(NewBB); in severSplitPHINodesOfEntry()
703 Header = NewBB; in severSplitPHINodesOfEntry()
714 TI->replaceUsesOfWith(OldPred, NewBB); in severSplitPHINodesOfEntry()
725 PN->getName() + ".ce", &NewBB->front()); in severSplitPHINodesOfEntry()
749 BasicBlock *NewBB = nullptr; in severSplitPHINodesOfExits() local
766 if (!NewBB) { in severSplitPHINodesOfExits()
767 NewBB = BasicBlock::Create(ExitBB->getContext(), in severSplitPHINodesOfExits()
773 PredBB->getTerminator()->replaceUsesOfWith(ExitBB, NewBB); in severSplitPHINodesOfExits()
774 BranchInst::Create(ExitBB, NewBB); in severSplitPHINodesOfExits()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
DSIFixSGPRCopies.cpp613 MachineBasicBlock *NewBB = TII->moveToVALU(MI, MDT); in runOnMachineFunction() local
614 if (NewBB && NewBB != MBB) { in runOnMachineFunction()
615 MBB = NewBB; in runOnMachineFunction()
620 assert((!NewBB || NewBB == I->getParent()) && in runOnMachineFunction()
636 MachineBasicBlock *NewBB = TII->moveToVALU(MI, MDT); in runOnMachineFunction() local
637 if (NewBB && NewBB != MBB) { in runOnMachineFunction()
638 MBB = NewBB; in runOnMachineFunction()
643 assert((!NewBB || NewBB == I->getParent()) && in runOnMachineFunction()
652 MachineBasicBlock *NewBB = processPHINode(MI); in runOnMachineFunction() local
653 if (NewBB && NewBB != MBB) { in runOnMachineFunction()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/MSP430/
DMSP430BranchSelector.cpp152 MachineBasicBlock *NewBB = in expandBranches() local
154 MF->insert(std::next(MBB), NewBB); in expandBranches()
157 NewBB->splice(NewBB->end(), &*MBB, std::next(MI), MBB->end()); in expandBranches()
164 MBB->replaceSuccessor(Succ, NewBB); in expandBranches()
165 NewBB->addSuccessor(Succ); in expandBranches()
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
DMachineDominators.h53 MachineBasicBlock *NewBB; member
202 void splitBlock(MachineBasicBlock* NewBB) { in splitBlock() argument
204 DT->splitBlock(NewBB); in splitBlock()
234 MachineBasicBlock *NewBB) { in recordSplitCriticalEdge() argument
235 bool Inserted = NewBBs.insert(NewBB).second; in recordSplitCriticalEdge()
239 CriticalEdgesToSplit.push_back({FromBB, ToBB, NewBB}); in recordSplitCriticalEdge()
DModuloSchedule.h195 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
200 void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
224 void rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum,
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
DJumpThreading.cpp2028 BasicBlock *BB, BasicBlock *NewBB, in updateSSA() argument
2061 SSAUpdate.AddAvailableValue(NewBB, ValueMapping[&I]); in updateSSA()
2074 BasicBlock::iterator BE, BasicBlock *NewBB, in cloneInstructions() argument
2085 PHINode *NewPN = PHINode::Create(PN->getType(), 1, PN->getName(), NewBB); in cloneInstructions()
2105 NewBB->getInstList().push_back(New); in cloneInstructions()
2269 BasicBlock *NewBB = in threadThroughTwoBasicBlocks() local
2272 NewBB->moveAfter(PredBB); in threadThroughTwoBasicBlocks()
2278 BFI->setBlockFreq(NewBB, NewBBFreq.getFrequency()); in threadThroughTwoBasicBlocks()
2285 cloneInstructions(PredBB->begin(), PredBB->end(), NewBB, PredPredBB); in threadThroughTwoBasicBlocks()
2289 BPI->copyEdgeProbabilities(PredBB, NewBB); in threadThroughTwoBasicBlocks()
[all …]
DDFAJumpThreading.cpp900 BasicBlock *NewBB = cloneBlockAndUpdatePredecessor( in createExitPath() local
902 DuplicateMap[BB].push_back({NewBB, NextState}); in createExitPath()
903 BlocksToClean.insert(NewBB); in createExitPath()
904 PrevBB = NewBB; in createExitPath()
972 BasicBlock *NewBB = CloneBasicBlock( in cloneBlockAndUpdatePredecessor() local
974 NewBB->moveAfter(BB); in cloneBlockAndUpdatePredecessor()
977 for (Instruction &I : *NewBB) { in cloneBlockAndUpdatePredecessor()
989 updateSuccessorPhis(BB, NewBB, NextState, VMap, DuplicateMap); in cloneBlockAndUpdatePredecessor()
990 updatePredecessor(PrevBB, BB, NewBB, DTU); in cloneBlockAndUpdatePredecessor()
995 for (auto *SuccBB : successors(NewBB)) { in cloneBlockAndUpdatePredecessor()
[all …]
DGVNHoist.cpp640 const BasicBlock *NewBB = NewPt->getParent(); in hasMemoryUse() local
652 if (BB == NewBB) { in hasMemoryUse()
687 const BasicBlock *NewBB = NewPt->getParent(); in hasEHOrLoadsOnPath() local
689 assert(DT->dominates(NewBB, OldBB) && "invalid path"); in hasEHOrLoadsOnPath()
690 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) && in hasEHOrLoadsOnPath()
699 if (BB == NewBB) { in hasEHOrLoadsOnPath()
759 const BasicBlock *NewBB = NewPt->getParent(); in safeToHoistLdSt() local
766 if (DT->properlyDominates(NewBB, DBB)) in safeToHoistLdSt()
770 if (NewBB == DBB && !MSSA->isLiveOnEntryDef(D)) in safeToHoistLdSt()
780 } else if (hasEHOnPath(NewBB, OldBB, NBBsOnAllPaths)) in safeToHoistLdSt()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/ARM/
DARMConstantIslandPass.cpp250 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
912 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) { in updateForInsertedWaterBlock() argument
914 NewBB->getParent()->RenumberBlocks(NewBB); in updateForInsertedWaterBlock()
918 BBUtils->insert(NewBB->getNumber(), BasicBlockInfo()); in updateForInsertedWaterBlock()
922 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); in updateForInsertedWaterBlock()
923 WaterList.insert(IP, NewBB); in updateForInsertedWaterBlock()
940 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
943 MF->insert(MBBI, NewBB); in splitBlockBeforeInstr()
946 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); in splitBlockBeforeInstr()
954 BuildMI(OrigBB, DebugLoc(), TII->get(Opc)).addMBB(NewBB); in splitBlockBeforeInstr()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Mips/
DMipsConstantIslandPass.cpp387 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
822 (MachineBasicBlock *NewBB) { in updateForInsertedWaterBlock() argument
824 NewBB->getParent()->RenumberBlocks(NewBB); in updateForInsertedWaterBlock()
828 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in updateForInsertedWaterBlock()
832 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); in updateForInsertedWaterBlock()
833 WaterList.insert(IP, NewBB); in updateForInsertedWaterBlock()
848 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
851 MF->insert(MBBI, NewBB); in splitBlockBeforeInstr()
854 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); in splitBlockBeforeInstr()
860 BuildMI(OrigBB, DebugLoc(), TII->get(Mips::Bimm16)).addMBB(NewBB); in splitBlockBeforeInstr()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/Support/
DGenericDomTree.h662 void changeImmediateDominator(NodeT *BB, NodeT *NewBB) {
663 changeImmediateDominator(getNode(BB), getNode(NewBB));
700 void splitBlock(NodeT *NewBB) {
702 Split<Inverse<NodeT *>>(NewBB);
704 Split<NodeT *>(NewBB);
833 void Split(typename GraphTraits<N>::NodeRef NewBB) {
836 assert(std::distance(GraphT::child_begin(NewBB),
837 GraphT::child_end(NewBB)) == 1 &&
839 NodeRef NewBBSucc = *GraphT::child_begin(NewBB);
841 SmallVector<NodeRef, 4> PredBlocks(children<Inverse<N>>(NewBB));
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
DJumpThreading.h117 void updateSSA(BasicBlock *BB, BasicBlock *NewBB,
121 BasicBlock *NewBB,
173 BasicBlock *NewBB, BasicBlock *SuccBB);
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
DVPlan.cpp254 BasicBlock *NewBB = BasicBlock::Create(PrevBB->getContext(), getName(), in createEmptyBasicBlock() local
256 LLVM_DEBUG(dbgs() << "LV: created " << NewBB->getName() << '\n'); in createEmptyBasicBlock()
284 BranchInst::Create(NewBB, PredBB); in createEmptyBasicBlock()
291 PredBBTerminator->setSuccessor(idx, NewBB); in createEmptyBasicBlock()
294 return NewBB; in createEmptyBasicBlock()
301 BasicBlock *NewBB = State->CFG.PrevBB; // Reuse it if possible. in execute() local
316 NewBB = createEmptyBasicBlock(State->CFG); in execute()
317 State->Builder.SetInsertPoint(NewBB); in execute()
323 L->addBasicBlockToLoop(NewBB, *State->LI); in execute()
324 State->CFG.PrevBB = NewBB; in execute()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AArch64/
DAArch64PromoteConstant.cpp412 BasicBlock *NewBB = NewPt->getParent(); in tryAndMerge() local
421 if (NewBB == CurBB) { in tryAndMerge()
433 BasicBlock *CommonDominator = DT.findNearestCommonDominator(NewBB, CurBB); in tryAndMerge()
438 if (CommonDominator != NewBB) { in tryAndMerge()

12