Lines Matching refs:block
105 for (Block *block : depth_first_ext(®ion->front(), reachable)) in eraseUnreachableBlocks()
106 (void)block /* Mark all reachable blocks */; in eraseUnreachableBlocks()
110 for (Block &block : llvm::make_early_inc_range(*region)) { in eraseUnreachableBlocks()
111 if (!reachable.count(&block)) { in eraseUnreachableBlocks()
112 block.dropAllDefinedValueUses(); in eraseUnreachableBlocks()
113 rewriter.eraseBlock(&block); in eraseUnreachableBlocks()
119 for (Operation &op : block) in eraseUnreachableBlocks()
263 for (Block *block : llvm::post_order(®ion.front())) { in propagateLiveness()
266 for (Operation &op : llvm::reverse(block->getOperations())) in propagateLiveness()
273 if (block->isEntryBlock()) in propagateLiveness()
276 for (Value value : block->getArguments()) { in propagateLiveness()
323 for (Block *block : llvm::post_order(®ion.front())) { in deleteDeadness()
325 eraseTerminatorSuccessorOperands(block->getTerminator(), liveMap); in deleteDeadness()
327 llvm::make_early_inc_range(llvm::reverse(block->getOperations()))) { in deleteDeadness()
341 for (Block &block : llvm::drop_begin(region.getBlocks(), 1)) { in deleteDeadness()
342 block.eraseArguments( in deleteDeadness()
404 BlockEquivalenceData(Block *block);
411 Block *block; member
421 BlockEquivalenceData::BlockEquivalenceData(Block *block) in BlockEquivalenceData() argument
422 : block(block), hash(0) { in BlockEquivalenceData()
423 unsigned orderIt = block->getNumArguments(); in BlockEquivalenceData()
424 for (Operation &op : *block) { in BlockEquivalenceData()
438 assert(value.getParentBlock() == block && "expected value of this block"); in getOrderOf()
484 Block *leaderBlock = leaderData.block, *mergeBlock = blockData.block; in addToCluster()
491 auto rhsIt = blockData.block->begin(), rhsE = blockData.block->end(); in addToCluster()
525 auto isValidSuccessorArg = [](Block *block, Value operand) { in addToCluster() argument
529 return !llvm::is_contained(block->getPredecessors(), in addToCluster()
564 blocksToMerge.insert(blockData.block); in addToCluster()
570 static bool ableToUpdatePredOperands(Block *block) { in ableToUpdatePredOperands() argument
571 for (auto it = block->pred_begin(), e = block->pred_end(); it != e; ++it) { in ableToUpdatePredOperands()
583 Block *leaderBlock = leaderData.block; in merge()
627 auto updatePredecessors = [&](Block *block, unsigned clusterIndex) { in merge() argument
628 for (auto predIt = block->pred_begin(), predE = block->pred_end(); in merge()
642 for (Block *block : blocksToMerge) { in merge()
643 block->replaceAllUsesWith(leaderBlock); in merge()
644 rewriter.eraseBlock(block); in merge()
661 for (Block &block : llvm::drop_begin(region, 1)) in mergeIdenticalBlocks()
662 matchingSuccessors[block.getSuccessors()].push_back(&block); in mergeIdenticalBlocks()
670 for (Block *block : blocks) { in mergeIdenticalBlocks()
671 BlockEquivalenceData data(block); in mergeIdenticalBlocks()
675 bool hasNonEmptyRegion = llvm::any_of(*block, [](Operation &op) { in mergeIdenticalBlocks()
713 for (Block &block : *region) in mergeIdenticalBlocks()
714 for (auto &op : block) in mergeIdenticalBlocks()