Lines Matching defs:Flow
59 const char FlowBlockName[] = "Flow";
250 /// | / 3 = "Flow" blocks, newly inserted flow blocks, rejoins the flow
269 /// |/ 2 = "Loop" optional subregion, with all exits at "Flow" block
270 /// 3 3 = "Flow" block, with back edge to entry block
274 /// The back edge of the "Flow" block is always on the false side of the branch
348 BasicBlock *needPostfix(BasicBlock *Flow, bool ExitUseAllowed);
738 // the block is not a Flow. If a block is neither flow block nor the
988 BasicBlock *Flow = BasicBlock::Create(Context, FlowBlockName,
990 FlowSet.insert(Flow);
995 TermDL[Flow] = std::move(DL);
997 DT->addNewBlock(Flow, Dominator);
998 ParentRegion->getRegionInfo()->setRegionFor(Flow, ParentRegion);
999 return Flow;
1013 BasicBlock *Flow = getNextFlow(Entry);
1016 changeExit(PrevNode, Flow, true);
1017 PrevNode = ParentRegion->getBBNode(Flow);
1018 return Flow;
1022 BasicBlock *StructurizeCFG::needPostfix(BasicBlock *Flow,
1025 return getNextFlow(Flow);
1028 DT->changeImmediateDominator(Exit, Flow);
1029 addPhiValues(Flow, Exit);
1082 BasicBlock *Flow = needPrefix(false);
1086 BasicBlock *Next = needPostfix(Flow, ExitUseAllowed);
1089 BranchInst *Br = BranchInst::Create(Entry, Next, BoolPoison, Flow);
1090 Br->setDebugLoc(TermDL[Flow]);
1092 addPhiValues(Flow, Entry);
1093 DT->changeImmediateDominator(Entry, Flow);