Lines Matching defs:from
36 /// that are usable within the symbol table operations from 'symbol' as far up
217 LogicalResult SymbolTable::rename(StringAttr from, StringAttr to) {
218 Operation *op = lookup(from);
223 StringAttr from = getNameIfSymbol(op);
224 (void)from;
226 assert(from && "expected valid 'name' attribute");
230 assert(lookup(from) == op && "current name does not resolve to op");
243 assert(lookup(from) == nullptr && "old name still exists");
248 LogicalResult SymbolTable::rename(StringAttr from, StringRef to) {
250 return rename(from, toAttr);
286 StringAttr from = getNameIfSymbol(op);
287 assert(from && "expected valid 'name' attribute");
288 return renameToUnique(from, others);
335 /// Returns the nearest symbol table from a given operation `from`. Returns
337 Operation *SymbolTable::getNearestSymbolTable(Operation *from) {
338 assert(from && "expected valid operation");
339 if (isPotentiallyUnknownSymbolTable(from))
342 while (!from->hasTrait<OpTrait::SymbolTable>()) {
343 from = from->getParentOp();
346 if (!from || isPotentiallyUnknownSymbolTable(from))
349 return from;
455 Operation *SymbolTable::lookupNearestSymbolFrom(Operation *from,
457 Operation *symbolTableOp = getNearestSymbolTable(from);
460 Operation *SymbolTable::lookupNearestSymbolFrom(Operation *from,
462 Operation *symbolTableOp = getNearestSymbolTable(from);
585 /// operation 'from', invoking the provided callback for each. This does not
588 walkSymbolUses(Operation *from,
594 if (isPotentiallyUnknownSymbolTable(from))
598 if (walkSymbolRefs(from, callback).wasInterrupted())
602 // defines a new scope, so we can't walk the attributes from within the symbol
604 if (!from->hasTrait<OpTrait::SymbolTable>())
605 return walkSymbolUses(from->getRegions(), callback);
657 /// Collect all of the symbol scopes from 'symbol' to (inclusive) 'limit'.
765 static std::optional<SymbolTable::UseRange> getSymbolUsesImpl(FromT from) {
771 auto result = walkSymbolUses(from, walkFn);
777 /// within the given operation 'from'. This does not traverse into any nested
778 /// symbol tables, and will also only return uses on 'from' if it does not
783 auto SymbolTable::getSymbolUses(Operation *from) -> std::optional<UseRange> {
784 return getSymbolUsesImpl(from);
786 auto SymbolTable::getSymbolUses(Region *from) -> std::optional<UseRange> {
787 return getSymbolUsesImpl(MutableArrayRef<Region>(*from));
809 /// operation 'from', invoking the provided callback for each. This does not
812 auto SymbolTable::getSymbolUses(StringAttr symbol, Operation *from)
814 return getSymbolUsesImpl(symbol, from);
816 auto SymbolTable::getSymbolUses(Operation *symbol, Operation *from)
818 return getSymbolUsesImpl(symbol, from);
820 auto SymbolTable::getSymbolUses(StringAttr symbol, Region *from)
822 return getSymbolUsesImpl(symbol, from);
824 auto SymbolTable::getSymbolUses(Operation *symbol, Region *from)
826 return getSymbolUsesImpl(symbol, from);
848 /// the given operation 'from'. This does not traverse into any nested symbol
851 bool SymbolTable::symbolKnownUseEmpty(StringAttr symbol, Operation *from) {
852 return symbolKnownUseEmptyImpl(symbol, from);
854 bool SymbolTable::symbolKnownUseEmpty(Operation *symbol, Operation *from) {
855 return symbolKnownUseEmptyImpl(symbol, from);
857 bool SymbolTable::symbolKnownUseEmpty(StringAttr symbol, Region *from) {
858 return symbolKnownUseEmptyImpl(symbol, from);
860 bool SymbolTable::symbolKnownUseEmpty(Operation *symbol, Region *from) {
861 return symbolKnownUseEmptyImpl(symbol, from);
921 /// 'from'. This does not traverse into any nested symbol tables. If there are
926 Operation *from) {
927 return replaceAllSymbolUsesImpl(oldSymbol, newSymbol, from);
931 Operation *from) {
932 return replaceAllSymbolUsesImpl(oldSymbol, newSymbol, from);
936 Region *from) {
937 return replaceAllSymbolUsesImpl(oldSymbol, newSymbol, from);
941 Region *from) {
942 return replaceAllSymbolUsesImpl(oldSymbol, newSymbol, from);
974 /// closest parent operation of, or including, 'from' with the
977 Operation *SymbolTableCollection::lookupNearestSymbolFrom(Operation *from,
979 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from);
983 SymbolTableCollection::lookupNearestSymbolFrom(Operation *from,
985 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from);