Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DBranchRelaxation.cpp272 MachineBasicBlock *NewBB = MF->CreateMachineBasicBlock(BB); in createNewBlockAfter() local
273 MF->insert(++OrigMBB.getIterator(), NewBB); in createNewBlockAfter()
276 NewBB->setSectionID(OrigMBB.getSectionID()); in createNewBlockAfter()
277 NewBB->setIsEndSection(OrigMBB.isEndSection()); in createNewBlockAfter()
281 BlockInfo.insert(BlockInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in createNewBlockAfter()
283 return NewBB; in createNewBlockAfter()
295 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
297 MF->insert(++OrigBB->getIterator(), NewBB); in splitBlockBeforeInstr()
300 NewBB->setSectionID(OrigBB->getSectionID()); in splitBlockBeforeInstr()
301 NewBB->setIsEndSection(OrigBB->isEndSection()); in splitBlockBeforeInstr()
[all …]
H A DMachineLoopUtils.cpp38 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock()); in PeelSingleBlockLoop() local
40 MF.insert(Loop->getIterator(), NewBB); in PeelSingleBlockLoop()
42 MF.insert(std::next(Loop->getIterator()), NewBB); in PeelSingleBlockLoop()
45 auto InsertPt = NewBB->end(); in PeelSingleBlockLoop()
48 NewBB->insert(InsertPt, NewMI); in PeelSingleBlockLoop()
77 for (auto I = NewBB->getFirstNonPHI(); I != NewBB->end(); ++I) in PeelSingleBlockLoop()
83 for (auto I = NewBB->begin(); I->isPHI(); ++I) { in PeelSingleBlockLoop()
111 Preheader->ReplaceUsesOfBlockWith(Loop, NewBB); in PeelSingleBlockLoop()
112 NewBB->addSuccessor(Loop); in PeelSingleBlockLoop()
113 Loop->replacePhiUsesWith(Preheader, NewBB); in PeelSingleBlockLoop()
[all …]
H A DModuloSchedule.cpp210 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); in generateProlog() local
211 PrologBBs.push_back(NewBB); in generateProlog()
212 MF.insert(BB->getIterator(), NewBB); in generateProlog()
213 NewBB->transferSuccessors(PredBB); in generateProlog()
214 PredBB->addSuccessor(NewBB); in generateProlog()
215 PredBB = NewBB; in generateProlog()
216 LIS.insertMBBInMaps(NewBB); in generateProlog()
230 NewBB->push_back(NewMI); in generateProlog()
236 rewritePhiValues(NewBB, i, VRMap, InstrMap); in generateProlog()
239 NewBB->dump(); in generateProlog()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBreakCriticalEdges.cpp167 BasicBlock *NewBB = nullptr; in SplitKnownCriticalEdge() local
169 NewBB = BasicBlock::Create(TI->getContext(), BBName); in SplitKnownCriticalEdge()
171 NewBB = BasicBlock::Create(TI->getContext(), TIBB->getName() + "." + in SplitKnownCriticalEdge()
175 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); in SplitKnownCriticalEdge()
183 F.insert(++FBBI, NewBB); in SplitKnownCriticalEdge()
186 TI->setSuccessor(SuccNum, NewBB); in SplitKnownCriticalEdge()
205 PN->setIncomingBlock(BBIdx, NewBB); in SplitKnownCriticalEdge()
222 TI->setSuccessor(i, NewBB); in SplitKnownCriticalEdge()
235 DestBB, NewBB, {TIBB}, Options.MergeIdenticalEdges); in SplitKnownCriticalEdge()
238 return NewBB; in SplitKnownCriticalEdge()
[all …]
H A DCloneFunction.cpp116 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); in CloneBasicBlock() local
118 NewBB->setName(BB->getName() + NameSuffix); in CloneBasicBlock()
128 NewInst->insertBefore(*NewBB, NewBB->end()); in CloneBasicBlock()
155 return NewBB; in CloneBasicBlock()
522 BasicBlock *NewBB; in CloneBlock() local
524 BBEntry = NewBB = BasicBlock::Create(BB->getContext(), NewName, NewFunc); in CloneBlock()
538 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); in CloneBlock()
569 NewInst->insertInto(NewBB, NewBB->end()); in CloneBlock()
641 auto *NewBI = BranchInst::Create(Dest, NewBB); in CloneBlock()
658 auto *NewBI = BranchInst::Create(Dest, NewBB); in CloneBlock()
[all …]
H A DBasicBlockUtils.cpp740 auto *NewBB = in ehAwareSplitEdge() local
742 setUnwindEdgeTo(BB->getTerminator(), NewBB); in ehAwareSplitEdge()
743 updatePhiNodes(Succ, BB, NewBB, LandingPadReplacement); in ehAwareSplitEdge()
747 auto *Terminator = BranchInst::Create(Succ, NewBB); in ehAwareSplitEdge()
749 LandingPadReplacement->addIncoming(NewLP, NewBB); in ehAwareSplitEdge()
763 auto *NewCleanupPad = CleanupPadInst::Create(ParentPad, {}, BBName, NewBB); in ehAwareSplitEdge()
764 CleanupReturnInst::Create(NewCleanupPad, Succ, NewBB); in ehAwareSplitEdge()
770 return NewBB; in ehAwareSplitEdge()
776 Updates.push_back({DominatorTree::Insert, BB, NewBB}); in ehAwareSplitEdge()
777 Updates.push_back({DominatorTree::Insert, NewBB, Succ}); in ehAwareSplitEdge()
[all …]
H A DLoopUnrollRuntime.cpp358 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, "." + suffix, F); in CloneLoopBlocks() local
359 NewBlocks.push_back(NewBB); in CloneLoopBlocks()
361 addClonedBlockToLoopInfo(*BB, NewBB, LI, NewLoops); in CloneLoopBlocks()
363 VMap[*BB] = NewBB; in CloneLoopBlocks()
367 InsertTop->getTerminator()->setSuccessor(0, NewBB); in CloneLoopBlocks()
373 DT->addNewBlock(NewBB, InsertTop); in CloneLoopBlocks()
377 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDomBB])); in CloneLoopBlocks()
388 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); in CloneLoopBlocks()
419 NewIdx->addIncoming(IdxNext, NewBB); in CloneLoopBlocks()
H A DLoopSimplify.cpp80 static void placeSplitBlockCarefully(BasicBlock *NewBB, in placeSplitBlockCarefully() argument
84 Function::iterator BBI = --NewBB->getIterator(); in placeSplitBlockCarefully()
97 if (++BBI != NewBB->getParent()->end() && L->contains(&*BBI)) { in placeSplitBlockCarefully()
108 NewBB->moveAfter(FoundBB); in placeSplitBlockCarefully()
269 BasicBlock *NewBB = SplitBlockPredecessors(Header, OuterLoopPreds, ".outer", in separateNestedLoop() local
274 placeSplitBlockCarefully(NewBB, OuterLoopPreds, L); in separateNestedLoop()
313 OuterLoopBlocks.push_back(NewBB); in separateNestedLoop()
H A DCodeExtractor.cpp717 BasicBlock *NewBB = SplitBlock(Header, Header->getFirstNonPHIIt(), DT); in severSplitPHINodesOfEntry() local
723 Blocks.insert(NewBB); in severSplitPHINodesOfEntry()
724 Header = NewBB; in severSplitPHINodesOfEntry()
735 TI->replaceUsesOfWith(OldPred, NewBB); in severSplitPHINodesOfEntry()
747 NewPN->insertBefore(NewBB->begin()); in severSplitPHINodesOfEntry()
770 BasicBlock *NewBB = nullptr; in severSplitPHINodesOfExits() local
787 if (!NewBB) { in severSplitPHINodesOfExits()
788 NewBB = BasicBlock::Create(ExitBB->getContext(), in severSplitPHINodesOfExits()
794 PredBB->getTerminator()->replaceUsesOfWith(ExitBB, NewBB); in severSplitPHINodesOfExits()
795 BranchInst::Create(ExitBB, NewBB); in severSplitPHINodesOfExits()
[all …]
H A DLowerSwitch.cpp116 void FixPhis(BasicBlock *SuccBB, BasicBlock *OrigBB, BasicBlock *NewBB, in FixPhis() argument
124 for (; Idx != E && NewBB; ++Idx) { in FixPhis()
126 PN->setIncomingBlock(Idx, NewBB); in FixPhis()
132 if (NewBB) in FixPhis()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp1955 void JumpThreadingPass::updateSSA(BasicBlock *BB, BasicBlock *NewBB, in updateSSA() argument
1999 SSAUpdate.AddAvailableValue(NewBB, ValueMapping[&I]); in updateSSA()
2029 BasicBlock *NewBB, in cloneInstructions() argument
2083 PHINode *NewPN = PHINode::Create(PN->getType(), 1, PN->getName(), NewBB); in cloneInstructions()
2111 New->insertInto(NewBB, NewBB->end()); in cloneInstructions()
2136 DbgMarker *EndMarker = NewBB->createMarker(NewBB->end()); in cloneInstructions()
2300 BasicBlock *NewBB = in threadThroughTwoBasicBlocks() local
2303 NewBB->moveAfter(PredBB); in threadThroughTwoBasicBlocks()
2310 BFI->setBlockFreq(NewBB, NewBBFreq); in threadThroughTwoBasicBlocks()
2317 cloneInstructions(ValueMapping, PredBB->begin(), PredBB->end(), NewBB, in threadThroughTwoBasicBlocks()
[all …]
H A DDFAJumpThreading.cpp337 for (BasicBlock *NewBB : *NewBBs) in unfold()
338 L->addBasicBlockToLoop(NewBB, *LI); in unfold()
1015 BasicBlock *NewBB = cloneBlockAndUpdatePredecessor( in createExitPath() local
1017 DuplicateMap[BB].push_back({NewBB, NextState}); in createExitPath()
1018 BlocksToClean.insert(NewBB); in createExitPath()
1019 PrevBB = NewBB; in createExitPath()
1087 BasicBlock *NewBB = CloneBasicBlock( in cloneBlockAndUpdatePredecessor() local
1090 NewBB->moveAfter(BB); in cloneBlockAndUpdatePredecessor()
1093 for (Instruction &I : *NewBB) { in cloneBlockAndUpdatePredecessor()
1105 updateSuccessorPhis(BB, NewBB, NextState, VMap, DuplicateMap); in cloneBlockAndUpdatePredecessor()
[all …]
H A DGVNHoist.cpp592 const BasicBlock *NewBB = NewPt->getParent(); in hasMemoryUse() local
604 if (BB == NewBB) { in hasMemoryUse()
639 const BasicBlock *NewBB = NewPt->getParent(); in hasEHOrLoadsOnPath() local
641 assert(DT->dominates(NewBB, OldBB) && "invalid path"); in hasEHOrLoadsOnPath()
642 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) && in hasEHOrLoadsOnPath()
651 if (BB == NewBB) { in hasEHOrLoadsOnPath()
711 const BasicBlock *NewBB = NewPt->getParent(); in safeToHoistLdSt() local
718 if (DT->properlyDominates(NewBB, DBB)) in safeToHoistLdSt()
722 if (NewBB == DBB && !MSSA->isLiveOnEntryDef(D)) in safeToHoistLdSt()
732 } else if (hasEHOnPath(NewBB, OldBB, NBBsOnAllPaths)) in safeToHoistLdSt()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/
H A DMSP430BranchSelector.cpp151 MachineBasicBlock *NewBB = in expandBranches() local
153 MF->insert(std::next(MBB), NewBB); in expandBranches()
156 NewBB->splice(NewBB->end(), &*MBB, std::next(MI), MBB->end()); in expandBranches()
163 MBB->replaceSuccessor(Succ, NewBB); in expandBranches()
164 NewBB->addSuccessor(Succ); in expandBranches()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.cpp432 BasicBlock *NewBB = BasicBlock::Create(PrevBB->getContext(), getName(), in createEmptyBasicBlock() local
434 LLVM_DEBUG(dbgs() << "LV: created " << NewBB->getName() << '\n'); in createEmptyBasicBlock()
436 return NewBB; in createEmptyBasicBlock()
441 BasicBlock *NewBB = CFG.VPBB2IRBB[this]; in connectToPredecessors() local
456 if (ParentLoop && !State.LI->getLoopFor(NewBB)) in connectToPredecessors()
457 ParentLoop->addBasicBlockToLoop(NewBB, *State.LI); in connectToPredecessors()
483 auto *Br = BranchInst::Create(NewBB, PredBB); in connectToPredecessors()
486 TermBr->setSuccessor(0, NewBB); in connectToPredecessors()
498 (TermBr->getSuccessor(idx) == NewBB || in connectToPredecessors()
501 TermBr->setSuccessor(idx, NewBB); in connectToPredecessors()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYConstantIslandPass.cpp239 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
615 MachineBasicBlock *NewBB) { in updateForInsertedWaterBlock() argument
617 NewBB->getParent()->RenumberBlocks(NewBB); in updateForInsertedWaterBlock()
621 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in updateForInsertedWaterBlock()
625 water_iterator IP = llvm::lower_bound(WaterList, NewBB, compareMbbNumbers); in updateForInsertedWaterBlock()
626 WaterList.insert(IP, NewBB); in updateForInsertedWaterBlock()
645 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
648 MF->insert(MBBI, NewBB); in splitBlockBeforeInstr()
651 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); in splitBlockBeforeInstr()
659 BuildMI(OrigBB, DebugLoc(), TII->get(CSKY::BR32)).addMBB(NewBB); in splitBlockBeforeInstr()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DGenericDomTreeUpdaterImpl.h135 BasicBlockT *FromBB, BasicBlockT *ToBB, BasicBlockT *NewBB) { in splitCriticalEdge() argument
139 CriticalEdge E = {FromBB, ToBB, NewBB}; in splitCriticalEdge()
226 printBlockInfo(Edge.NewBB, "\n"); in dump()
388 NewBBs.insert(Edge.NewBB); in splitDTCriticalEdges()
403 if (PredBB == Edge.NewBB) in splitDTCriticalEdges()
434 auto *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB); in splitDTCriticalEdges()
455 Updates.push_back({PostDomTreeT::Insert, Edge.FromBB, Edge.NewBB}); in splitPDTCriticalEdges()
456 Updates.push_back({PostDomTreeT::Insert, Edge.NewBB, Edge.ToBB}); in splitPDTCriticalEdges()
H A DLoopInfo.h472 auto *NewBB = NewLoc->getParent(); in movementPreservesLCSSAForm() local
476 if (OldBB == NewBB) in movementPreservesLCSSAForm()
480 auto *NewLoop = getLoopFor(NewBB); in movementPreservesLCSSAForm()
503 if (UBB != NewBB && getLoopFor(UBB) != NewLoop) in movementPreservesLCSSAForm()
525 if (DefBlock != NewBB && getLoopFor(DefBlock) != NewLoop) in movementPreservesLCSSAForm()
H A DGenericDomTreeUpdater.h155 BasicBlockT *NewBB);
219 BasicBlockT *NewBB; member
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMConstantIslandPass.cpp250 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
951 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) { in updateForInsertedWaterBlock() argument
953 NewBB->getParent()->RenumberBlocks(NewBB); in updateForInsertedWaterBlock()
958 BBUtils->insert(NewBB->getNumber(), BasicBlockInfo()); in updateForInsertedWaterBlock()
962 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); in updateForInsertedWaterBlock()
963 WaterList.insert(IP, NewBB); in updateForInsertedWaterBlock()
980 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
983 MF->insert(MBBI, NewBB); in splitBlockBeforeInstr()
986 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); in splitBlockBeforeInstr()
994 BuildMI(OrigBB, DebugLoc(), TII->get(Opc)).addMBB(NewBB); in splitBlockBeforeInstr()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsConstantIslandPass.cpp385 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
820 (MachineBasicBlock *NewBB) { in updateForInsertedWaterBlock() argument
822 NewBB->getParent()->RenumberBlocks(NewBB); in updateForInsertedWaterBlock()
826 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); in updateForInsertedWaterBlock()
830 water_iterator IP = llvm::lower_bound(WaterList, NewBB, CompareMBBNumbers); in updateForInsertedWaterBlock()
831 WaterList.insert(IP, NewBB); in updateForInsertedWaterBlock()
846 MachineBasicBlock *NewBB = in splitBlockBeforeInstr() local
849 MF->insert(MBBI, NewBB); in splitBlockBeforeInstr()
852 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); in splitBlockBeforeInstr()
858 BuildMI(OrigBB, DebugLoc(), TII->get(Mips::Bimm16)).addMBB(NewBB); in splitBlockBeforeInstr()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericDomTree.h730 void changeImmediateDominator(NodeT *BB, NodeT *NewBB) {
731 changeImmediateDominator(getNode(BB), getNode(NewBB));
773 void splitBlock(NodeT *NewBB) {
775 Split<Inverse<NodeT *>>(NewBB);
777 Split<NodeT *>(NewBB);
937 void Split(typename GraphTraits<N>::NodeRef NewBB) {
940 assert(llvm::hasSingleElement(children<N>(NewBB)) &&
942 NodeRef NewBBSucc = *GraphT::child_begin(NewBB);
944 SmallVector<NodeRef, 4> PredBlocks(inverse_children<N>(NewBB));
950 if (Pred != NewBB && !dominates(NewBBSucc, Pred) &&
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h121 LLVM_ABI void updateSSA(BasicBlock *BB, BasicBlock *NewBB,
125 BasicBlock::iterator BE, BasicBlock *NewBB,
183 BasicBlock *NewBB, BasicBlock *SuccBB,
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A 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()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DModuloSchedule.h198 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
203 void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
228 void rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum,

123