Lines Matching defs:branch
263 if (auto branch = dyn_cast<RegionBranchOpInterface>(op)) {
264 visitRegionBranchOperation(branch);
284 if (auto branch = dyn_cast<RegionBranchOpInterface>(op->getParentOp())) {
286 visitRegionTerminator(op, branch);
296 if (auto branch = dyn_cast<BranchOpInterface>(op)) {
297 visitBranchOperation(branch);
367 void DeadCodeAnalysis::visitBranchOperation(BranchOpInterface branch) {
368 // Try to deduce a single successor for the branch.
369 std::optional<SmallVector<Attribute>> operands = getOperandValues(branch);
373 if (Block *successor = branch.getSuccessorForOperands(*operands)) {
374 markEdgeLive(branch->getBlock(), successor);
377 for (Block *successor : branch->getSuccessors())
378 markEdgeLive(branch->getBlock(), successor);
383 RegionBranchOpInterface branch) {
385 std::optional<SmallVector<Attribute>> operands = getOperandValues(branch);
390 branch.getEntrySuccessorRegions(*operands, successors);
396 : getProgramPointAfter(branch);
404 predecessors->join(branch, successor.getSuccessorInputs()));
409 RegionBranchOpInterface branch) {
418 branch.getSuccessorRegions(op->getParentRegion(), successors);
433 getOrCreate<PredecessorState>(getProgramPointAfter(branch));