Lines Matching refs:block
56 for (Block &block : region) { in initializeRecursively()
57 getOrCreate<Executable>(&block)->blockContentSubscribe(this); in initializeRecursively()
58 visitBlock(&block); in initializeRecursively()
59 for (Operation &op : block) in initializeRecursively()
71 else if (Block *block = point.dyn_cast<Block *>()) in visit() local
72 visitBlock(block); in visit()
136 void AbstractSparseDataFlowAnalysis::visitBlock(Block *block) { in visitBlock() argument
138 if (block->getNumArguments() == 0) in visitBlock()
142 if (!getOrCreate<Executable>(block)->isLive()) in visitBlock()
147 argLattices.reserve(block->getNumArguments()); in visitBlock()
149 for (BlockArgument argument : block->getArguments()) { in visitBlock()
161 if (block->isEntryBlock()) { in visitBlock()
163 auto callable = dyn_cast<CallableOpInterface>(block->getParentOp()); in visitBlock()
164 if (callable && callable.getCallableRegion() == block->getParent()) { in visitBlock()
165 const auto *callsites = getOrCreateFor<PredecessorState>(block, callable); in visitBlock()
173 join(std::get<1>(it), *getLatticeElementFor(block, std::get<0>(it))); in visitBlock()
179 if (auto branch = dyn_cast<RegionBranchOpInterface>(block->getParentOp())) { in visitBlock()
181 block, branch, block->getParent()->getRegionNumber(), argLattices); in visitBlock()
185 return visitNonControlFlowArgumentsImpl(block->getParentOp(), in visitBlock()
186 RegionSuccessor(block->getParent()), in visitBlock()
191 for (Block::pred_iterator it = block->pred_begin(), e = block->pred_end(); in visitBlock()
198 getOrCreate<Executable>(getProgramPoint<CFGEdge>(predecessor, block)); in visitBlock()
210 join(it.value(), *getLatticeElementFor(block, operand)); in visitBlock()