/external/llvm/lib/Transforms/Utils/ |
H A D | BreakCriticalEdges.cpp | 149 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(), 152 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); 156 TI->setSuccessor(SuccNum, NewBB); 161 F.getBasicBlockList().insert(++FBBI, NewBB); 164 // merge incoming values from NewBB instead of from TIBB. 168 // We no longer enter through TIBB, now we come in through NewBB. 170 // TIBB to come from NewBB. 180 PN->setIncomingBlock(BBIdx, NewBB); 194 // We found another edge to DestBB, go to NewBB instead. 195 TI->setSuccessor(i, NewBB); [all...] |
H A D | CloneFunction.cpp | 42 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); local 43 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 53 NewBB->getInstList().push_back(NewInst); 71 return NewBB; 303 BasicBlock *NewBB; 304 BBEntry = NewBB = BasicBlock::Create(BB->getContext()); 305 if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); 319 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB); 331 = Director->handleInstruction(VMap, II, NewBB); 374 NewBB 520 BasicBlock *NewBB = cast_or_null<BasicBlock>(V); local 554 BasicBlock *NewBB = cast<BasicBlock>(VMap[OldBB]); local [all...] |
H A D | LoopUnrollRuntime.cpp | 166 BasicBlock *NewBB = CloneBasicBlock(*BB, VMap, ".prol", F); local 167 NewBlocks.push_back(NewBB); 170 NewLoop->addBasicBlockToLoop(NewBB, *LI); 172 ParentLoop->addBasicBlockToLoop(NewBB, *LI); 174 VMap[*BB] = NewBB; 178 InsertTop->getTerminator()->setSuccessor(0, NewBB); 186 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); 189 BranchInst::Create(InsertBot, NewBB); 199 BranchInst::Create(FirstLoopBB, InsertBot, IdxCmp, NewBB); 201 NewIdx->addIncoming(IdxSub, NewBB); [all...] |
H A D | BasicBlockUtils.cpp | 312 static void UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, argument 318 DT->splitBlock(NewBB); 379 InnermostPredLoop->addBasicBlockToLoop(NewBB, *LI); 381 L->addBasicBlockToLoop(NewBB, *LI); 383 L->moveToHeader(NewBB); 388 /// from NewBB. This also updates AliasAnalysis, if available. 389 static void UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, argument 392 // Otherwise, create a new PHI node in NewBB for each PHI node in OrigBB. 429 PN->addIncoming(InVal, NewBB); 435 // Create the new PHI node, insert it into NewBB a 489 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), BB->getName()+Suffix, local [all...] |
H A D | CodeExtractor.cpp | 215 BasicBlock *NewBB = Header->splitBasicBlock(AfterPHIs, local 222 Blocks.insert(NewBB); 223 Header = NewBB; 228 DT->splitBlock(NewBB); 235 // changing them to branch to NewBB instead. 239 TI->replaceUsesOfWith(OldPred, NewBB); 243 // just have to update the PHI nodes now, inserting PHI nodes into NewBB. 249 PN->getName()+".ce", NewBB->begin());
|
H A D | LoopSimplify.cpp | 77 static void placeSplitBlockCarefully(BasicBlock *NewBB, argument 80 // Check to see if NewBB is already well placed. 81 Function::iterator BBI = NewBB; --BBI; 96 if (++BBI != NewBB->getParent()->end() && 108 NewBB->moveAfter(FoundBB); 152 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 294 BasicBlock *NewBB = SplitBlockPredecessors(Header, OuterLoopPreds, ".outer", local 297 // Make sure that NewBB is put someplace intelligent, which doesn't mess up 299 placeSplitBlockCarefully(NewBB, OuterLoopPreds, L);
|
H A D | LowerSwitch.cpp | 160 static void fixPhis(BasicBlock *SuccBB, BasicBlock *OrigBB, BasicBlock *NewBB, argument 171 PN->setIncomingBlock(Idx, NewBB);
|
H A D | SimplifyCFG.cpp | 2778 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "switch.edge", local 2795 SI->addCase(Cst, NewBB); 2797 // NewBB branches to the phi block, add the uncond branch and the phi entry. 2798 Builder.SetInsertPoint(NewBB); 2801 PHIUse->addIncoming(NewCst, NewBB); 2860 BasicBlock *NewBB = BB->splitBasicBlock(BI, "switch.early.test"); local 2866 Builder.CreateCondBr(ExtraCase, EdgeBB, NewBB); 2868 Builder.CreateCondBr(ExtraCase, NewBB, EdgeBB); 2874 AddPredecessorToBlock(EdgeBB, BB, NewBB); 2878 BB = NewBB; [all...] |
/external/llvm/include/llvm/CodeGen/ |
H A D | MachineDominators.h | 47 MachineBasicBlock *NewBB; member in struct:llvm::MachineDominatorTree::CriticalEdge 56 /// Invariant: NewBBs == all the basic blocks contained in the NewBB 59 /// such as BB == elt.NewBB. 205 inline void splitBlock(MachineBasicBlock* NewBB) { argument 207 DT->splitBlock(NewBB); 222 /// split with NewBB. 235 MachineBasicBlock *NewBB) { 236 bool Inserted = NewBBs.insert(NewBB).second; 240 CriticalEdgesToSplit.push_back({FromBB, ToBB, NewBB}); 233 recordSplitCriticalEdge(MachineBasicBlock *FromBB, MachineBasicBlock *ToBB, MachineBasicBlock *NewBB) argument
|
/external/llvm/lib/CodeGen/ |
H A D | WinEHPrepare.cpp | 182 BasicBlock *NewBB) override; 186 BasicBlock *NewBB) = 0; 189 BasicBlock *NewBB) = 0; 192 BasicBlock *NewBB) = 0; 195 BasicBlock *NewBB) = 0; 198 BasicBlock *NewBB) = 0; 201 BasicBlock *NewBB) = 0; 224 BasicBlock *NewBB) override; 226 BasicBlock *NewBB) override; 229 BasicBlock *NewBB) overrid 1034 handleInstruction( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1067 handleLandingPad( ValueToValueMapTy &VMap, const LandingPadInst *LPad, BasicBlock *NewBB) argument 1081 handleBeginCatch( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1104 handleEndCatch(ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1146 handleTypeIdFor( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1161 handleInvoke(ValueToValueMapTy &VMap, const InvokeInst *Invoke, BasicBlock *NewBB) argument 1167 handleResume(ValueToValueMapTy &VMap, const ResumeInst *Resume, BasicBlock *NewBB) argument 1176 handleLandingPad( ValueToValueMapTy &VMap, const LandingPadInst *LPad, BasicBlock *NewBB) argument 1190 handleBeginCatch( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1200 handleEndCatch( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1207 handleTypeIdFor( ValueToValueMapTy &VMap, const Instruction *Inst, BasicBlock *NewBB) argument 1225 handleInvoke( ValueToValueMapTy &VMap, const InvokeInst *Invoke, BasicBlock *NewBB) argument 1252 handleResume( ValueToValueMapTy &VMap, const ResumeInst *Resume, BasicBlock *NewBB) argument [all...] |
H A D | MachineDominators.cpp | 84 if (PredBB == Edge.NewBB) 115 // We know FromBB dominates NewBB. 116 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
|
H A D | StackProtector.cpp | 436 BasicBlock *NewBB = BB->splitBasicBlock(RI, "SP_return"); local 440 DT->addNewBlock(NewBB, BB); 449 NewBB->moveAfter(BB); 462 B.CreateCondBr(Cmp, NewBB, FailBB, Weights);
|
H A D | ShadowStackGCLowering.cpp | 162 BasicBlock *NewBB = local 167 NewBB->getInstList().remove(CI); 175 InvokeInst::Create(CI->getCalledValue(), NewBB, CleanupBB, Args,
|
/external/llvm/lib/Target/AArch64/ |
H A D | AArch64BranchRelaxation.cpp | 217 MachineBasicBlock *NewBB = local 221 MF->insert(MBBI, NewBB); 223 // Splice the instructions starting with MI over to NewBB. 224 NewBB->splice(NewBB->end(), OrigBB, MI, OrigBB->end()); 226 // Add an unconditional branch from OrigBB to NewBB. 230 BuildMI(OrigBB, DebugLoc(), TII->get(AArch64::B)).addMBB(NewBB); 233 BlockInfo.insert(BlockInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 244 computeBlockSize(*NewBB); 251 return NewBB; 411 MachineBasicBlock *NewBB = splitBlockBeforeInstr(MI); local [all...] |
H A D | AArch64PromoteConstant.cpp | 372 BasicBlock *NewBB = NewPt->getParent(); local 381 if (NewBB == CurBB) { 393 BasicBlock *CommonDominator = DT.findNearestCommonDominator(NewBB, CurBB); 398 if (CommonDominator != NewBB) { 405 // else, CommonDominator is the block of NewBB, hence NewBB is the last
|
/external/llvm/lib/Target/ARM/ |
H A D | ARMConstantIslandPass.cpp | 284 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB); 855 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) { argument 857 NewBB->getParent()->RenumberBlocks(NewBB); 861 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 866 std::lower_bound(WaterList.begin(), WaterList.end(), NewBB, 868 WaterList.insert(IP, NewBB); 879 MachineBasicBlock *NewBB = local 882 MF->insert(MBBI, NewBB); 884 // Splice the instructions starting with MI over to NewBB 923 WaterList.insert(std::next(IP), NewBB); local [all...] |
/external/llvm/lib/Target/Mips/ |
H A D | MipsConstantIslandPass.cpp | 393 void updateForInsertedWaterBlock(MachineBasicBlock *NewBB); 852 (MachineBasicBlock *NewBB) { 854 NewBB->getParent()->RenumberBlocks(NewBB); 858 BBInfo.insert(BBInfo.begin() + NewBB->getNumber(), BasicBlockInfo()); 863 std::lower_bound(WaterList.begin(), WaterList.end(), NewBB, 865 WaterList.insert(IP, NewBB); 880 MachineBasicBlock *NewBB = local 883 MF->insert(MBBI, NewBB); 885 // Splice the instructions starting with MI over to NewBB 851 updateForInsertedWaterBlock(MachineBasicBlock *NewBB) argument 919 WaterList.insert(std::next(IP), NewBB); local [all...] |
/external/llvm/include/llvm/Support/ |
H A D | GenericDomTree.h | 250 // NewBB is split and now it has one successor. Update dominator tree to 254 typename GraphT::NodeType *NewBB) { 255 assert(std::distance(GraphT::child_begin(NewBB), 256 GraphT::child_end(NewBB)) == 1 && 257 "NewBB should have a single successor!"); 258 typename GraphT::NodeType *NewBBSucc = *GraphT::child_begin(NewBB); 263 PI = InvTraits::child_begin(NewBB), 264 PE = InvTraits::child_end(NewBB); 276 if (ND != NewBB && !DT.dominates(NewBBSucc, ND) && 283 // Find NewBB' 253 Split(DominatorTreeBase<typename GraphT::NodeType> &DT, typename GraphT::NodeType *NewBB) argument 575 changeImmediateDominator(NodeT *BB, NodeT *NewBB) argument 603 splitBlock(NodeT *NewBB) argument [all...] |
/external/llvm/include/llvm/Transforms/Utils/ |
H A D | Cloning.h | 157 BasicBlock *NewBB) = 0;
|
/external/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 1432 // copy of the block 'NewBB'. If there are PHI nodes in BB, evaluate them to 1436 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), local 1439 NewBB->moveAfter(PredBB); 1445 // Clone the non-phi instructions of BB into NewBB, keeping track of the 1450 NewBB->getInstList().push_back(New); 1462 // We didn't copy the terminator from BB over to NewBB, because there is now 1464 BranchInst *NewBI =BranchInst::Create(SuccBB, NewBB); 1468 // PHI nodes for NewBB now. 1469 AddPHINodeEntriesForMappedBlock(SuccBB, BB, NewBB, ValueMapping); 1502 SSAUpdate.AddAvailableValue(NewBB, ValueMappin 1728 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "select.unfold", local [all...] |
H A D | PlaceSafepoints.cpp | 605 BasicBlock *NewBB = SplitEdge(Term->getParent(), Header, nullptr); local 606 SplitBackedges.insert(NewBB); 609 for (BasicBlock *NewBB : SplitBackedges) { 610 InsertSafepointPoll(DT, NewBB->getTerminator(), ParsePoints);
|
H A D | LoopUnswitch.cpp | 824 BasicBlock *NewBB = CloneBasicBlock(LoopBlocks[i], VMap, ".us", F); local 826 NewBlocks.push_back(NewBB); 827 VMap[LoopBlocks[i]] = NewBB; // Keep the BB mapping. 828 LPM->cloneBasicBlockSimpleAnalysis(LoopBlocks[i], NewBB, L); 843 // Recalculate unswitching quota, inherit simplified switches info for NewBB,
|
/external/llvm/include/llvm/Analysis/ |
H A D | LoopInfoImpl.h | 180 /// information. NewBB is set to be a new member of the current loop. 187 addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LIB) { argument 190 assert(NewBB && "Cannot add a null basic block to the loop!"); 191 assert(!LIB[NewBB] && "BasicBlock already in the loop!"); 196 LIB.BBMap[NewBB] = L; 200 L->addBlockEntry(NewBB);
|
H A D | RegionInfoImpl.h | 890 void RegionInfoBase<Tr>::splitBlock(BlockT *NewBB, BlockT *OldBB) { argument 893 setRegionFor(NewBB, R); 896 R->replaceEntry(NewBB);
|
H A D | LoopInfo.h | 256 /// information. NewBB is set to be a new member of the current loop. 261 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
|