/external/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; 235 BasicBlock *NewBB; 236 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); 237 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 251 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); 287 NewBB->getInstList().push_back(NewInst); 313 VMap[OldTI] = BranchInst::Create(Dest, NewBB); 399 BasicBlock *NewBB = cast_or_null<BasicBlock>(V); local 425 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 | 105 void PlaceSplitBlockCarefully(BasicBlock *NewBB, 399 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 487 void LoopSimplify::PlaceSplitBlockCarefully(BasicBlock *NewBB, argument 490 // Check to see if NewBB is already well placed. 491 Function::iterator BBI = NewBB; --BBI; 506 if (++BBI != NewBB->getParent()->end() && 518 NewBB->moveAfter(FoundBB); 574 BasicBlock *NewBB = local 577 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 579 PlaceSplitBlockCarefully(NewBB, OuterLoopPred [all...] |
H A D | CodeExtractor.cpp | 213 BasicBlock *NewBB = Header->splitBasicBlock(AfterPHIs, local 220 Blocks.insert(NewBB); 221 Header = NewBB; 226 DT->splitBlock(NewBB); 233 // changing them to branch to NewBB instead. 237 TI->replaceUsesOfWith(OldPred, NewBB); 241 // just have to update the PHI nodes now, inserting PHI nodes into NewBB. 247 PN->getName()+".ce", NewBB->begin());
|
H A D | SimplifyCFG.cpp | 2449 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "switch.edge", local 2451 SI->addCase(Cst, NewBB); 2453 // NewBB branches to the phi block, add the uncond branch and the phi entry. 2454 Builder.SetInsertPoint(NewBB); 2457 PHIUse->addIncoming(NewCst, NewBB); 2521 BasicBlock *NewBB = BB->splitBasicBlock(BI, "switch.early.test"); local 2527 Builder.CreateCondBr(ExtraCase, EdgeBB, NewBB); 2529 Builder.CreateCondBr(ExtraCase, NewBB, EdgeBB); 2535 AddPredecessorToBlock(EdgeBB, BB, NewBB); 2539 BB = NewBB; [all...] |
/external/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...] |
/external/llvm/lib/CodeGen/ |
H A D | StackProtector.cpp | 241 BasicBlock *NewBB = BB->splitBasicBlock(RI, "SP_return"); local 244 DT->addNewBlock(NewBB, BB); 253 NewBB->moveAfter(BB); 259 BranchInst::Create(NewBB, FailBB, Cmp, BB);
|
H A D | ShadowStackGC.cpp | 165 BasicBlock *NewBB = local 170 NewBB->getInstList().remove(CI); 178 NewBB, CleanupBB,
|
/external/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 856 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 | 192 /// information. NewBB is set to be a new member of the current loop. 199 addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LIB) { argument 202 assert(NewBB && "Cannot add a null basic block to the loop!"); 203 assert(LIB[NewBB] == 0 && "BasicBlock already in the loop!"); 208 LIB.BBMap[NewBB] = L; 212 L->Blocks.push_back(NewBB);
|
H A D | RegionInfo.h | 706 /// @param NewBB The basic block that was created before OldBB. 708 void splitBlock(BasicBlock* NewBB, BasicBlock *OldBB);
|
H A D | LoopInfo.h | 239 /// information. NewBB is set to be a new member of the current loop. 244 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
|
/external/llvm/include/llvm/CodeGen/ |
H A D | MachineDominators.h | 157 inline void splitBlock(MachineBasicBlock* NewBB) { argument 158 DT->splitBlock(NewBB);
|
/external/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 | 803 void RegionInfo::splitBlock(BasicBlock* NewBB, BasicBlock *OldBB) argument 807 setRegionFor(NewBB, R); 810 R->replaceEntry(NewBB);
|
/external/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 1366 // copy of the block 'NewBB'. If there are PHI nodes in BB, evaluate them to 1370 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), local 1373 NewBB->moveAfter(PredBB); 1379 // Clone the non-phi instructions of BB into NewBB, keeping track of the 1384 NewBB->getInstList().push_back(New); 1396 // We didn't copy the terminator from BB over to NewBB, because there is now 1398 BranchInst *NewBI =BranchInst::Create(SuccBB, NewBB); 1402 // PHI nodes for NewBB now. 1403 AddPHINodeEntriesForMappedBlock(SuccBB, BB, NewBB, ValueMapping); 1437 SSAUpdate.AddAvailableValue(NewBB, ValueMappin [all...] |
H A D | LoopUnswitch.cpp | 807 BasicBlock *NewBB = CloneBasicBlock(LoopBlocks[i], VMap, ".us", F); local 809 NewBlocks.push_back(NewBB); 810 VMap[LoopBlocks[i]] = NewBB; // Keep the BB mapping. 811 LPM->cloneBasicBlockSimpleAnalysis(LoopBlocks[i], NewBB, L); 822 // Recalculate unswitching quota, inherit simplified switches info for NewBB,
|
H A D | LoopStrengthReduce.cpp | 4457 BasicBlock *NewBB = 0; local 4459 NewBB = SplitCriticalEdge(BB, Parent, P, 4465 NewBB = NewBBs[0]; 4472 NewBB->moveBefore(PN->getParent()); 4476 BB = NewBB;
|
/external/llvm/lib/VMCore/ |
H A D | Constants.cpp | 1307 BasicBlock *NewBB = getBasicBlock(); local 1312 NewBB = cast<BasicBlock>(To); 1317 getContext().pImpl->BlockAddresses[std::make_pair(NewF, NewBB)]; 1327 setOperand(1, NewBB);
|