[mlir] Update the use-list algorithms in SymbolTable to support nested references.
authorRiver Riddle <riverriddle@google.com>
Mon, 13 Jan 2020 23:23:01 +0000 (15:23 -0800)
committerRiver Riddle <riverriddle@google.com>
Mon, 13 Jan 2020 23:23:28 +0000 (15:23 -0800)
commit6fca03f0cae77c275870c4569bfeeb7ca0f561a6
tree875af93a8967eda4aac63649490b2c113b8e5093
parent6d57511e0b6f95a369efe7274923a36de3489e7b
[mlir] Update the use-list algorithms in SymbolTable to support nested references.

Summary: This updates the use list algorithms to support querying from a specific symbol, allowing for the collection and detection of nested references. This works by walking the parent "symbol scopes" and applying the existing algorithm at each level.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D72042
mlir/include/mlir/IR/SymbolTable.h
mlir/lib/IR/SymbolTable.cpp
mlir/test/IR/test-symbol-rauw.mlir
mlir/test/IR/test-symbol-uses.mlir
mlir/test/lib/IR/TestSymbolUses.cpp