| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | BranchRelaxation.cpp | 272 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 D | MachineLoopUtils.cpp | 38 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 D | ModuloSchedule.cpp | 210 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 D | BreakCriticalEdges.cpp | 167 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 D | CloneFunction.cpp | 116 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 D | BasicBlockUtils.cpp | 740 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 D | LoopUnrollRuntime.cpp | 358 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 D | LoopSimplify.cpp | 80 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 D | CodeExtractor.cpp | 717 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 D | LowerSwitch.cpp | 116 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 D | JumpThreading.cpp | 1955 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 D | DFAJumpThreading.cpp | 337 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 D | GVNHoist.cpp | 592 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 D | MSP430BranchSelector.cpp | 151 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 D | VPlan.cpp | 432 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 D | CSKYConstantIslandPass.cpp | 239 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 D | GenericDomTreeUpdaterImpl.h | 135 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 D | LoopInfo.h | 472 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 D | GenericDomTreeUpdater.h | 155 BasicBlockT *NewBB); 219 BasicBlockT *NewBB; member
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMConstantIslandPass.cpp | 250 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 D | MipsConstantIslandPass.cpp | 385 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 D | GenericDomTree.h | 730 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 D | JumpThreading.h | 121 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 D | AArch64PromoteConstant.cpp | 412 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 D | ModuloSchedule.h | 198 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1, 203 void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1, 228 void rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum,
|