Searched refs:NewBB (Results 1 - 25 of 29) sorted by relevance

12

/external/llvm/lib/Transforms/Utils/
H A DBreakCriticalEdges.cpp149 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 DCloneFunction.cpp42 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 DLoopUnrollRuntime.cpp166 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 DBasicBlockUtils.cpp312 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 DCodeExtractor.cpp215 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 DLoopSimplify.cpp77 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 DLowerSwitch.cpp160 static void fixPhis(BasicBlock *SuccBB, BasicBlock *OrigBB, BasicBlock *NewBB, argument
171 PN->setIncomingBlock(Idx, NewBB);
H A DSimplifyCFG.cpp2778 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 DMachineDominators.h47 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 DWinEHPrepare.cpp182 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 DMachineDominators.cpp84 if (PredBB == Edge.NewBB)
115 // We know FromBB dominates NewBB.
116 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
H A DStackProtector.cpp436 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 DShadowStackGCLowering.cpp162 BasicBlock *NewBB = local
167 NewBB->getInstList().remove(CI);
175 InvokeInst::Create(CI->getCalledValue(), NewBB, CleanupBB, Args,
/external/llvm/lib/Target/AArch64/
H A DAArch64BranchRelaxation.cpp217 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 DAArch64PromoteConstant.cpp372 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 DARMConstantIslandPass.cpp284 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 DMipsConstantIslandPass.cpp393 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 DGenericDomTree.h250 // 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 DCloning.h157 BasicBlock *NewBB) = 0;
/external/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp1432 // 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 DPlaceSafepoints.cpp605 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 DLoopUnswitch.cpp824 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 DLoopInfoImpl.h180 /// 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 DRegionInfoImpl.h890 void RegionInfoBase<Tr>::splitBlock(BlockT *NewBB, BlockT *OldBB) { argument
893 setRegionFor(NewBB, R);
896 R->replaceEntry(NewBB);
H A DLoopInfo.h256 /// information. NewBB is set to be a new member of the current loop.
261 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);

Completed in 382 milliseconds

12