/freebsd-10.0-release/contrib/llvm/lib/Transforms/Utils/ |
H A D | BreakCriticalEdges.cpp | 191 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(), 194 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); 198 TI->setSuccessor(SuccNum, NewBB); 203 F.getBasicBlockList().insert(++FBBI, NewBB); 206 // merge incoming values from NewBB instead of from TIBB. 210 // We no longer enter through TIBB, now we come in through NewBB. 212 // TIBB to come from NewBB. 222 PN->setIncomingBlock(BBIdx, NewBB); 236 // We found another edge to DestBB, go to NewBB instead. 237 TI->setSuccessor(i, NewBB); [all...] |
H A D | LoopUnrollRuntime.cpp | 155 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".unr", F); local 156 NewBlocks.push_back(NewBB); 159 ParentLoop->addBasicBlockToLoop(NewBB, LI->getBase()); 161 VMap[*BB] = NewBB; 165 InsertTop->getTerminator()->setSuccessor(0, NewBB); 174 NewBB->getInstList().erase(NewPHI); 190 NewBB->getTerminator()->eraseFromParent(); 191 BranchInst::Create(InsertBot, NewBB); 338 BasicBlock *NewBB = BasicBlock::Create(CompareBB->getContext(), "unr.cmp", local 342 ParentLoop->addBasicBlockToLoop(NewBB, L [all...] |
H A D | CloneFunction.cpp | 41 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); local 42 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 52 NewBB->getInstList().push_back(NewInst); 70 return NewBB; 237 BasicBlock *NewBB; 238 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); 239 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 253 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); 289 NewBB->getInstList().push_back(NewInst); 315 VMap[OldTI] = BranchInst::Create(Dest, NewBB); 401 BasicBlock *NewBB = cast_or_null<BasicBlock>(V); local 427 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); local [all...] |
H A D | BasicBlockUtils.cpp | 319 static void UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, argument 357 DT->splitBlock(NewBB); 385 InnermostPredLoop->addBasicBlockToLoop(NewBB, LI->getBase()); 387 L->addBasicBlockToLoop(NewBB, LI->getBase()); 389 L->moveToHeader(NewBB); 394 /// from NewBB. This also updates AliasAnalysis, if available. 395 static void UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, argument 398 // Otherwise, create a new PHI node in NewBB for each PHI node in OrigBB. 423 // Create the new PHI node, insert it into NewBB at the end of the block 439 PN->addIncoming(InVal, NewBB); 458 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), BB->getName()+Suffix, local [all...] |
H A D | LoopSimplify.cpp | 107 void PlaceSplitBlockCarefully(BasicBlock *NewBB, 406 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 494 void LoopSimplify::PlaceSplitBlockCarefully(BasicBlock *NewBB, argument 497 // Check to see if NewBB is already well placed. 498 Function::iterator BBI = NewBB; --BBI; 513 if (++BBI != NewBB->getParent()->end() && 525 NewBB->moveAfter(FoundBB); 581 BasicBlock *NewBB = local 584 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 586 PlaceSplitBlockCarefully(NewBB, OuterLoopPred [all...] |
H A D | CodeExtractor.cpp | 214 BasicBlock *NewBB = Header->splitBasicBlock(AfterPHIs, local 221 Blocks.insert(NewBB); 222 Header = NewBB; 227 DT->splitBlock(NewBB); 234 // changing them to branch to NewBB instead. 238 TI->replaceUsesOfWith(OldPred, NewBB); 242 // just have to update the PHI nodes now, inserting PHI nodes into NewBB. 248 PN->getName()+".ce", NewBB->begin());
|
H A D | SimplifyCFG.cpp | 2719 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "switch.edge", local 2736 SI->addCase(Cst, NewBB); 2738 // NewBB branches to the phi block, add the uncond branch and the phi entry. 2739 Builder.SetInsertPoint(NewBB); 2742 PHIUse->addIncoming(NewCst, NewBB); 2806 BasicBlock *NewBB = BB->splitBasicBlock(BI, "switch.early.test"); local 2812 Builder.CreateCondBr(ExtraCase, EdgeBB, NewBB); 2814 Builder.CreateCondBr(ExtraCase, NewBB, EdgeBB); 2820 AddPredecessorToBlock(EdgeBB, BB, NewBB); 2824 BB = NewBB; [all...] |
/freebsd-10.0-release/contrib/llvm/lib/Target/AArch64/ |
H A D | AArch64BranchFixupPass.cpp | 364 MachineBasicBlock *NewBB = local 367 MF->insert(MBBI, NewBB); 369 // Splice the instructions starting with MI over to NewBB. 370 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); 372 // Add an unconditional branch from OrigBB to NewBB. 376 BuildMI(OrigBB, DebugLoc(), TII->get(AArch64::Bimm)).addMBB(NewBB); 379 // Update the CFG. All succs of OrigBB are now succs of NewBB. 380 NewBB->transferSuccessors(OrigBB); 382 // OrigBB branches to NewBB [all...] |
/freebsd-10.0-release/contrib/llvm/lib/Target/ARM/ |
H A D | ARMConstantIslandPass.cpp | 282 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB); 851 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) { argument 853 NewBB->getParent()->RenumberBlocks(NewBB); 857 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 862 std::lower_bound(WaterList.begin(), WaterList.end(), NewBB, 864 WaterList.insert(IP, NewBB); 875 MachineBasicBlock *NewBB = local 878 MF->insert(MBBI, NewBB); 880 // Splice the instructions starting with MI over to NewBB 919 WaterList.insert(llvm::next(IP), NewBB); local [all...] |
/freebsd-10.0-release/contrib/llvm/lib/CodeGen/ |
H A D | StackProtector.cpp | 328 BasicBlock *NewBB = BB->splitBasicBlock(RI, "SP_return"); local 331 DT->addNewBlock(NewBB, BB); 340 NewBB->moveAfter(BB); 346 BranchInst::Create(NewBB, FailBB, Cmp, BB);
|
H A D | ShadowStackGC.cpp | 165 BasicBlock *NewBB = local 170 NewBB->getInstList().remove(CI); 178 NewBB, CleanupBB,
|
/freebsd-10.0-release/contrib/llvm/include/llvm/Analysis/ |
H A D | Dominators.h | 236 // NewBB is split and now it has one successor. Update dominator tree to 240 typename GraphT::NodeType* NewBB) { 241 assert(std::distance(GraphT::child_begin(NewBB), 242 GraphT::child_end(NewBB)) == 1 && 243 "NewBB should have a single successor!"); 244 typename GraphT::NodeType* NewBBSucc = *GraphT::child_begin(NewBB); 249 InvTraits::child_begin(NewBB), 250 PE = InvTraits::child_end(NewBB); PI != PE; ++PI) 260 if (ND != NewBB && !DT.dominates(NewBBSucc, ND) && 267 // Find NewBB' 239 Split(DominatorTreeBase<typename GraphT::NodeType>& DT, typename GraphT::NodeType* NewBB) argument 500 changeImmediateDominator(NodeT *BB, NodeT *NewBB) argument 537 splitBlock(NodeT* NewBB) argument 855 splitBlock(BasicBlock* NewBB) argument [all...] |
H A D | ProfileInfo.h | 158 const BType *NewBB, bool MergeIdenticalEdges = false); 162 void splitBlock(const BType *BB, const BType* NewBB,
|
H A D | LoopInfoImpl.h | 193 /// information. NewBB is set to be a new member of the current loop. 200 addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LIB) { argument 203 assert(NewBB && "Cannot add a null basic block to the loop!"); 204 assert(LIB[NewBB] == 0 && "BasicBlock already in the loop!"); 209 LIB.BBMap[NewBB] = L; 213 L->Blocks.push_back(NewBB);
|
H A D | RegionInfo.h | 718 /// @param NewBB The basic block that was created before OldBB. 720 void splitBlock(BasicBlock* NewBB, BasicBlock *OldBB);
|
H A D | LoopInfo.h | 234 /// information. NewBB is set to be a new member of the current loop. 239 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
|
/freebsd-10.0-release/contrib/llvm/include/llvm/CodeGen/ |
H A D | MachineDominators.h | 159 inline void splitBlock(MachineBasicBlock* NewBB) { argument 160 DT->splitBlock(NewBB);
|
/freebsd-10.0-release/contrib/llvm/lib/Analysis/ |
H A D | ProfileInfo.cpp | 362 /// Splits an edge in the ProfileInfo and redirects flow over NewBB. 368 const BasicBlock *NewBB, 377 Edge n1 = getEdge(FirstBB, NewBB); 378 Edge n2 = getEdge(NewBB, SecondBB); 385 // one, only slice out a proporional part for NewBB. 390 // When the NewBB is completely new, increment the count by one so that 392 if (getExecutionCount(NewBB) == ProfileInfo::MissingValue) succ_count++; 399 // proportional part of the edge weight over NewBB. 403 BlockInformation[F][NewBB] += neww; 442 const BasicBlock* NewBB, 366 splitEdge(const BasicBlock *FirstBB, const BasicBlock *SecondBB, const BasicBlock *NewBB, bool MergeIdenticalEdges) argument 441 splitBlock(const BasicBlock *BB, const BasicBlock* NewBB, BasicBlock *const *Preds, unsigned NumPreds) argument [all...] |
H A D | RegionInfo.cpp | 835 void RegionInfo::splitBlock(BasicBlock* NewBB, BasicBlock *OldBB) argument 839 setRegionFor(NewBB, R); 842 R->replaceEntry(NewBB);
|
/freebsd-10.0-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 1375 // copy of the block 'NewBB'. If there are PHI nodes in BB, evaluate them to 1379 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), local 1382 NewBB->moveAfter(PredBB); 1388 // Clone the non-phi instructions of BB into NewBB, keeping track of the 1393 NewBB->getInstList().push_back(New); 1405 // We didn't copy the terminator from BB over to NewBB, because there is now 1407 BranchInst *NewBI =BranchInst::Create(SuccBB, NewBB); 1411 // PHI nodes for NewBB now. 1412 AddPHINodeEntriesForMappedBlock(SuccBB, BB, NewBB, ValueMapping); 1446 SSAUpdate.AddAvailableValue(NewBB, ValueMappin [all...] |
H A D | LoopUnswitch.cpp | 819 BasicBlock *NewBB = CloneBasicBlock(LoopBlocks[i], VMap, ".us", F); local 821 NewBlocks.push_back(NewBB); 822 VMap[LoopBlocks[i]] = NewBB; // Keep the BB mapping. 823 LPM->cloneBasicBlockSimpleAnalysis(LoopBlocks[i], NewBB, L); 834 // Recalculate unswitching quota, inherit simplified switches info for NewBB,
|
H A D | LoopStrengthReduce.cpp | 4458 BasicBlock *NewBB = 0; local 4460 NewBB = SplitCriticalEdge(BB, Parent, P, 4466 NewBB = NewBBs[0]; 4468 // If NewBB==NULL, then SplitCriticalEdge refused to split because all 4471 if (NewBB) { 4476 NewBB->moveBefore(PN->getParent()); 4480 BB = NewBB;
|
/freebsd-10.0-release/contrib/llvm/lib/IR/ |
H A D | Constants.cpp | 1391 BasicBlock *NewBB = getBasicBlock(); local 1396 NewBB = cast<BasicBlock>(To); 1401 getContext().pImpl->BlockAddresses[std::make_pair(NewF, NewBB)]; 1411 setOperand(1, NewBB);
|