Lines Matching defs:symbolTableOp

50   Operation *symbolTableOp = symbol->getParentOp();
51 if (within == symbolTableOp)
54 // Collect references until 'symbolTableOp' reaches 'within'.
60 if (!symbolTableOp->hasTrait<OpTrait::SymbolTable>())
63 StringAttr symbolTableName = getNameIfSymbol(symbolTableOp, symbolNameId);
68 symbolTableOp = symbolTableOp->getParentOp();
69 if (symbolTableOp == within)
118 SymbolTable::SymbolTable(Operation *symbolTableOp)
119 : symbolTableOp(symbolTableOp) {
120 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>() &&
122 assert(symbolTableOp->getNumRegions() == 1 &&
124 assert(llvm::hasSingleElement(symbolTableOp->getRegion(0)) &&
127 StringAttr symbolNameId = StringAttr::get(symbolTableOp->getContext(),
129 for (auto &op : symbolTableOp->getRegion(0).front()) {
144 return lookup(StringAttr::get(symbolTableOp->getContext(), name));
153 assert(op->getParentOp() == symbolTableOp &&
173 // symbolTableOp after this.
177 auto &body = symbolTableOp->getRegion(0).front();
182 insertPt->getParentOp() == symbolTableOp) &&
192 assert(symbol->getParentOp() == symbolTableOp &&
227 assert(op->getParentOp() == symbolTableOp &&
382 /// regions of 'symbolTableOp'. 'symbolTableOp' is required to be an operation
385 Operation *SymbolTable::lookupSymbolIn(Operation *symbolTableOp,
387 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>());
388 Region &region = symbolTableOp->getRegion(0);
393 StringAttr symbolNameId = StringAttr::get(symbolTableOp->getContext(),
400 Operation *SymbolTable::lookupSymbolIn(Operation *symbolTableOp,
403 if (failed(lookupSymbolIn(symbolTableOp, symbol, resolvedSymbols)))
411 Operation *symbolTableOp, SymbolRefAttr symbol,
414 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>());
417 symbolTableOp = lookupSymbolFn(symbolTableOp, symbol.getRootReference());
418 if (!symbolTableOp)
420 symbols.push_back(symbolTableOp);
428 if (!symbolTableOp->hasTrait<OpTrait::SymbolTable>())
434 symbolTableOp = lookupSymbolFn(symbolTableOp, ref.getAttr());
435 if (!symbolTableOp || !symbolTableOp->hasTrait<OpTrait::SymbolTable>())
437 symbols.push_back(symbolTableOp);
439 symbols.push_back(lookupSymbolFn(symbolTableOp, symbol.getLeafReference()));
444 SymbolTable::lookupSymbolIn(Operation *symbolTableOp, SymbolRefAttr symbol,
446 auto lookupFn = [](Operation *symbolTableOp, StringAttr symbol) {
447 return lookupSymbolIn(symbolTableOp, symbol);
449 return lookupSymbolInImpl(symbolTableOp, symbol, symbols, lookupFn);
457 Operation *symbolTableOp = getNearestSymbolTable(from);
458 return symbolTableOp ? lookupSymbolIn(symbolTableOp, symbol) : nullptr;
462 Operation *symbolTableOp = getNearestSymbolTable(from);
463 return symbolTableOp ? lookupSymbolIn(symbolTableOp, symbol) : nullptr;
949 Operation *SymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
951 return getSymbolTable(symbolTableOp).lookup(symbol);
953 Operation *SymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
956 if (failed(lookupSymbolIn(symbolTableOp, name, symbols)))
964 SymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
967 auto lookupFn = [this](Operation *symbolTableOp, StringAttr symbol) {
968 return lookupSymbolIn(symbolTableOp, symbol);
970 return lookupSymbolInImpl(symbolTableOp, name, symbols, lookupFn);
979 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from);
980 return symbolTableOp ? lookupSymbolIn(symbolTableOp, symbol) : nullptr;
985 Operation *symbolTableOp = SymbolTable::getNearestSymbolTable(from);
986 return symbolTableOp ? lookupSymbolIn(symbolTableOp, symbol) : nullptr;
1001 Operation *LockedSymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
1003 return getSymbolTable(symbolTableOp).lookup(symbol);
1007 LockedSymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
1009 return lookupSymbolIn(symbolTableOp, symbol.getAttr());
1012 Operation *LockedSymbolTableCollection::lookupSymbolIn(Operation *symbolTableOp,
1015 if (failed(lookupSymbolIn(symbolTableOp, name, symbols)))
1021 Operation *symbolTableOp, SymbolRefAttr name,
1023 auto lookupFn = [this](Operation *symbolTableOp, StringAttr symbol) {
1024 return lookupSymbolIn(symbolTableOp, symbol);
1026 return lookupSymbolInImpl(symbolTableOp, name, symbols, lookupFn);
1030 LockedSymbolTableCollection::getSymbolTable(Operation *symbolTableOp) {
1031 assert(symbolTableOp->hasTrait<OpTrait::SymbolTable>());
1035 auto it = collection.symbolTables.find(symbolTableOp);
1041 auto symbolTable = std::make_unique<SymbolTable>(symbolTableOp);
1045 .insert({symbolTableOp, std::move(symbolTable)})
1054 Operation *symbolTableOp)
1058 auto walkFn = [&](Operation *symbolTableOp, bool allUsesVisible) {
1059 for (Operation &nestedOp : symbolTableOp->getRegion(0).getOps()) {
1065 (void)symbolTable.lookupSymbolIn(symbolTableOp, use.getSymbolRef(),
1074 SymbolTable::walkSymbolTables(symbolTableOp, /*allSymUsesVisible=*/false,