llvm-project/mlir/test/lib
River Riddle 9b9c647cef Add support for nested symbol references.
This change allows for adding additional nested references to a SymbolRefAttr to allow for further resolving a symbol if that symbol also defines a SymbolTable. If a referenced symbol also defines a symbol table, a nested reference can be used to refer to a symbol within that table. Nested references are printed after the main reference in the following form:

  symbol-ref-attribute ::= symbol-ref-id (`::` symbol-ref-id)*

Example:

  module @reference {
    func @nested_reference()
  }

  my_reference_op @reference::@nested_reference

Given that SymbolRefAttr is now more general, the existing functionality centered around a single reference is moved to a derived class FlatSymbolRefAttr. Followup commits will add support to lookups, rauw, etc. for scoped references.

PiperOrigin-RevId: 279860501
2019-11-11 18:18:31 -08:00
..
IR Add support for replacing all uses of a symbol. 2019-10-24 10:47:27 -07:00
Pass Add support for generating reproducers on pass crash and failure. 2019-10-10 19:36:54 -07:00
TestDialect Add support for nested symbol references. 2019-11-11 18:18:31 -08:00
Transforms Convert the Canonicalize and CSE passes to generic Operation Passes. 2019-10-24 15:01:09 -07:00
CMakeLists.txt Add support for walking the uses of a symbol. 2019-10-08 10:21:59 -07:00