Lines Matching defs:limit
624 if (Region *region = llvm::dyn_cast_if_present<Region *>(limit))
626 return walkSymbolUses(cast<Operation *>(limit), cback);
644 if (Region *region = llvm::dyn_cast_if_present<Region *>(limit))
646 return ::walkSymbolTable(cast<Operation *>(limit), cback);
653 llvm::PointerUnion<Operation *, Region *> limit;
657 /// Collect all of the symbol scopes from 'symbol' to (inclusive) 'limit'.
659 Operation *limit) {
661 assert(!symbol->hasTrait<OpTrait::SymbolTable>() || symbol != limit);
663 // Compute the ancestors of 'limit'.
667 Operation *limitAncestor = limit;
669 // Check to see if 'symbol' is an ancestor of 'limit'.
673 if (SymbolTable::getNearestSymbolTable(limit->getParentOp()) ==
675 return {{SymbolRefAttr::get(symName), limit}};
682 // Try to find the first ancestor of 'symbol' that is an ancestor of 'limit'.
688 assert(commonAncestor && "'limit' and 'symbol' have no common ancestor");
696 // Handle the case where the common ancestor is 'limit'.
697 if (commonAncestor == limit) {
712 // used within 'limit'. This is the last reference in the list we computed
716 return {{references.back(), limit}};
719 Region *limit) {
720 auto scopes = collectSymbolScopes(symbol, limit->getParentOp());
723 // limit to the specific region requested.
725 scopes.back().limit = limit;
729 Region *limit) {
730 return {{SymbolRefAttr::get(symbol), limit}};
734 Operation *limit) {
737 for (auto ®ion : limit->getRegions())
796 IRUnitT *limit) {
798 for (SymbolScope &scope : collectSymbolScopes(symbol, limit)) {
834 static bool symbolKnownUseEmptyImpl(SymbolT symbol, IRUnitT *limit) {
835 for (SymbolScope &scope : collectSymbolScopes(symbol, limit)) {
880 replaceAllSymbolUsesImpl(SymbolT symbol, StringAttr newSymbol, IRUnitT *limit) {
883 for (SymbolScope &scope : collectSymbolScopes(symbol, limit)) {