Lines Matching refs:SymbolTable

28   return op->getAttrOfType<StringAttr>(SymbolTable::getSymbolAttrName());  in getNameIfSymbol()
56 StringAttr::get(ctx, SymbolTable::getSymbolAttrName()); in collectValidReferencesFor()
59 if (!symbolTableOp->hasTrait<OpTrait::SymbolTable>()) in collectValidReferencesFor()
91 if (!op.hasTrait<OpTrait::SymbolTable>()) { in walkSymbolTable()
107 if (result != WalkResult::advance() || op->hasTrait<OpTrait::SymbolTable>()) in walkSymbolTable()
117 SymbolTable::SymbolTable(Operation *symbolTableOp) in SymbolTable() function in SymbolTable
119 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>() && in SymbolTable()
127 SymbolTable::getSymbolAttrName()); in SymbolTable()
142 Operation *SymbolTable::lookup(StringRef name) const { in lookup()
145 Operation *SymbolTable::lookup(StringAttr name) const { in lookup()
150 void SymbolTable::erase(Operation *symbol) { in erase()
168 StringAttr SymbolTable::insert(Operation *symbol, Block::iterator insertPt) { in insert()
219 StringAttr SymbolTable::getSymbolName(Operation *symbol) { in getSymbolName()
226 void SymbolTable::setSymbolName(Operation *symbol, StringAttr name) { in setSymbolName()
231 SymbolTable::Visibility SymbolTable::getSymbolVisibility(Operation *symbol) { in getSymbolVisibility()
244 void SymbolTable::setSymbolVisibility(Operation *symbol, Visibility vis) { in setSymbolVisibility()
264 Operation *SymbolTable::getNearestSymbolTable(Operation *from) { in getNearestSymbolTable()
269 while (!from->hasTrait<OpTrait::SymbolTable>()) { in getNearestSymbolTable()
284 void SymbolTable::walkSymbolTables( in walkSymbolTables()
287 bool isSymbolTable = op->hasTrait<OpTrait::SymbolTable>(); in walkSymbolTables()
312 Operation *SymbolTable::lookupSymbolIn(Operation *symbolTableOp, in lookupSymbolIn()
314 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>()); in lookupSymbolIn()
321 SymbolTable::getSymbolAttrName()); in lookupSymbolIn()
327 Operation *SymbolTable::lookupSymbolIn(Operation *symbolTableOp, in lookupSymbolIn()
341 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>()); in lookupSymbolInImpl()
355 if (!symbolTableOp->hasTrait<OpTrait::SymbolTable>()) in lookupSymbolInImpl()
362 if (!symbolTableOp || !symbolTableOp->hasTrait<OpTrait::SymbolTable>()) in lookupSymbolInImpl()
371 SymbolTable::lookupSymbolIn(Operation *symbolTableOp, SymbolRefAttr symbol, in lookupSymbolIn()
382 Operation *SymbolTable::lookupNearestSymbolFrom(Operation *from, in lookupNearestSymbolFrom()
387 Operation *SymbolTable::lookupNearestSymbolFrom(Operation *from, in lookupNearestSymbolFrom()
394 SymbolTable::Visibility visibility) { in operator <<()
396 case SymbolTable::Visibility::Public: in operator <<()
398 case SymbolTable::Visibility::Private: in operator <<()
400 case SymbolTable::Visibility::Nested: in operator <<()
424 op.getAttrOfType<StringAttr>(mlir::SymbolTable::getSymbolAttrName()); in verifySymbolTable()
453 if (!op->getAttrOfType<StringAttr>(mlir::SymbolTable::getSymbolAttrName())) in verifySymbol()
455 << mlir::SymbolTable::getSymbolAttrName() << "'"; in verifySymbol()
458 if (Attribute vis = op->getAttr(mlir::SymbolTable::getVisibilityAttrName())) { in verifySymbol()
462 << mlir::SymbolTable::getVisibilityAttrName() in verifySymbol()
484 function_ref<WalkResult(SymbolTable::SymbolUse)> callback) { in walkSymbolRefs()
552 function_ref<WalkResult(SymbolTable::SymbolUse)> callback) { in walkSymbolUses()
566 function_ref<WalkResult(SymbolTable::SymbolUse)> callback) { in walkSymbolUses()
581 if (!from->hasTrait<OpTrait::SymbolTable>()) in walkSymbolUses()
612 return walk([=](SymbolTable::SymbolUse use) { in walk()
637 StringAttr symName = SymbolTable::getSymbolName(symbol); in collectSymbolScopes()
638 assert(!symbol->hasTrait<OpTrait::SymbolTable>() || symbol != limit); in collectSymbolScopes()
650 if (SymbolTable::getNearestSymbolTable(limit->getParentOp()) == in collectSymbolScopes()
682 assert(limitIt->hasTrait<OpTrait::SymbolTable>()); in collectSymbolScopes()
734 static Optional<SymbolTable::UseRange> getSymbolUsesImpl(FromT from) { in getSymbolUsesImpl()
735 std::vector<SymbolTable::SymbolUse> uses; in getSymbolUsesImpl()
736 auto walkFn = [&](SymbolTable::SymbolUse symbolUse) { in getSymbolUsesImpl()
741 return result ? Optional<SymbolTable::UseRange>(std::move(uses)) : llvm::None; in getSymbolUsesImpl()
751 auto SymbolTable::getSymbolUses(Operation *from) -> Optional<UseRange> { in getSymbolUses()
754 auto SymbolTable::getSymbolUses(Region *from) -> Optional<UseRange> { in getSymbolUses()
763 static Optional<SymbolTable::UseRange> getSymbolUsesImpl(SymbolT symbol, in getSymbolUsesImpl()
765 std::vector<SymbolTable::SymbolUse> uses; in getSymbolUsesImpl()
767 if (!scope.walk([&](SymbolTable::SymbolUse symbolUse) { in getSymbolUsesImpl()
773 return SymbolTable::UseRange(std::move(uses)); in getSymbolUsesImpl()
780 auto SymbolTable::getSymbolUses(StringAttr symbol, Operation *from) in getSymbolUses()
784 auto SymbolTable::getSymbolUses(Operation *symbol, Operation *from) in getSymbolUses()
788 auto SymbolTable::getSymbolUses(StringAttr symbol, Region *from) in getSymbolUses()
792 auto SymbolTable::getSymbolUses(Operation *symbol, Region *from) in getSymbolUses()
805 if (scope.walk([&](SymbolTable::SymbolUse symbolUse) { in symbolKnownUseEmptyImpl()
819 bool SymbolTable::symbolKnownUseEmpty(StringAttr symbol, Operation *from) { in symbolKnownUseEmpty()
822 bool SymbolTable::symbolKnownUseEmpty(Operation *symbol, Operation *from) { in symbolKnownUseEmpty()
825 bool SymbolTable::symbolKnownUseEmpty(StringAttr symbol, Region *from) { in symbolKnownUseEmpty()
828 bool SymbolTable::symbolKnownUseEmpty(Operation *symbol, Region *from) { in symbolKnownUseEmpty()
894 LogicalResult SymbolTable::replaceAllSymbolUses(StringAttr oldSymbol, in replaceAllSymbolUses()
899 LogicalResult SymbolTable::replaceAllSymbolUses(Operation *oldSymbol, in replaceAllSymbolUses()
904 LogicalResult SymbolTable::replaceAllSymbolUses(StringAttr oldSymbol, in replaceAllSymbolUses()
909 LogicalResult SymbolTable::replaceAllSymbolUses(Operation *oldSymbol, in replaceAllSymbolUses()
949 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from); in lookupNearestSymbolFrom()
955 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from); in lookupNearestSymbolFrom()
960 SymbolTable &SymbolTableCollection::getSymbolTable(Operation *op) { in getSymbolTable()
963 it.first->second = std::make_unique<SymbolTable>(op); in getSymbolTable()
978 auto symbolUses = SymbolTable::getSymbolUses(&nestedOp); in SymbolUserMap()
981 for (const SymbolTable::SymbolUse &use : *symbolUses) { in SymbolUserMap()
992 SymbolTable::walkSymbolTables(symbolTableOp, /*allSymUsesVisible=*/false, in SymbolUserMap()
1004 (void)SymbolTable::replaceAllSymbolUses(symbol, newSymbolName, user); in replaceAllUsesWith()
1036 SymbolTable::getVisibilityAttrName(), visibilityAttr)); in parseOptionalVisibilityKeyword()