llvm-project/mlir/examples/toy/Ch4
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
..
include Add support for nested symbol references. 2019-11-11 18:18:31 -08:00
mlir NFC: Tidy up the implementation of operations in the Toy tutorial 2019-11-06 18:22:11 -08:00
parser NFC: Uniformize parser naming scheme in Toy tutorial to camelCase and tidy a bit of the implementation. 2019-11-06 18:21:03 -08:00
CMakeLists.txt Add support for inlining toy call operations. 2019-10-16 17:32:57 -07:00
toyc.cpp Fix segfault (nullptr dereference) when passing a non-existent file to the Toy tutorial compiler 2019-11-09 21:31:16 -08:00