<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/86365>86365</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            MLIR documentation is unclear on how to reproduce Toy Ch1 example
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          nyck33
      </td>
    </tr>
</table>

<pre>
    `The AST [ΒΆ](https://mlir.llvm.org/docs/Tutorials/Toy/Ch-1/#the-ast)

The AST from the above code is fairly straightforward; here is a dump of it:

Module:
  Function 
    Proto 'multiply_transpose' @test/Examples/Toy/Ch1/ast.toy:4:1
    Params: [a, b]
    Block {
      Return
        BinOp: * @test/Examples/Toy/Ch1/ast.toy:5:25
          Call 'transpose' [ @test/Examples/Toy/Ch1/ast.toy:5:10
            var: a @test/Examples/Toy/Ch1/ast.toy:5:20
          ]
          Call 'transpose' [ @test/Examples/Toy/Ch1/ast.toy:5:25
            var: b @test/Examples/Toy/Ch1/ast.toy:5:35
          ]
    } // Block
  Function 
    Proto 'main' @test/Examples/Toy/Ch1/ast.toy:8:1
    Params: []
    Block {
      VarDecl a<> @test/Examples/Toy/Ch1/ast.toy:11:3
        Literal: <2, 3>[ <3>[ 1.000000e+00, 2.000000e+00, 3.000000e+00], <3>[ 4.000000e+00, 5.000000e+00, 6.000000e+00]] @test/Examples/Toy/Ch1/ast.toy:11:11
      VarDecl b<2, 3> @test/Examples/Toy/Ch1/ast.toy:15:3
        Literal: <6>[ 1.000000e+00, 2.000000e+00, 3.000000e+00, 4.000000e+00, 5.000000e+00, 6.000000e+00] @test/Examples/Toy/Ch1/ast.toy:15:17
      VarDecl c<> @test/Examples/Toy/Ch1/ast.toy:19:3
        Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:19:11
          var: a @test/Examples/Toy/Ch1/ast.toy:19:30
          var: b @test/Examples/Toy/Ch1/ast.toy:19:33
        ]
      VarDecl d<> @test/Examples/Toy/Ch1/ast.toy:22:3
        Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:22:11
          var: b @test/Examples/Toy/Ch1/ast.toy:22:30
          var: a @test/Examples/Toy/Ch1/ast.toy:22:33
        ]
      VarDecl e<> @test/Examples/Toy/Ch1/ast.toy:25:3
        Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:25:11
          var: c @test/Examples/Toy/Ch1/ast.toy:25:30
          var: d @test/Examples/Toy/Ch1/ast.toy:25:33
        ]
      VarDecl f<> @test/Examples/Toy/Ch1/ast.toy:28:3
        Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:28:11
          var: a @test/Examples/Toy/Ch1/ast.toy:28:30
          var: c @test/Examples/Toy/Ch1/ast.toy:28:33
        ]
    } // Block

You can reproduce this result and play with the example in the examples/toy/Ch1/ directory; try running path/to/BUILD/bin/toyc-ch1 test/Examples/Toy/Ch1/ast.toy -emit=ast.`

found at https://mlir.llvm.org/docs/Tutorials/Toy/Ch-1/ 

I built MLIR correctly but don't see a `/bin/toyc-ch1` directory anywhere.  

I know a tiny bit of LLVM from school but should I be doing the Kaleidoscope tutorial before attempting anything in MLIR?  Ie. for learning is LLVM a prerequisite for MLIR?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0l89u4zYQxp-GvgxsSKQl2wcf_CcGgiZosU0X6KmgxJHFhiJVkkqqty8oxYkdJ5vIzebgyDT1zXy_GRIkd07uNeKSJGuSbEe88aWxS93m94yNMiPaJUmjuxJh9fsdhEkbStYpSbaEzkvva0fYitAdobtKSTtR6qGaGLsndCdM7gjd3TXeWMlV92xaQnebchx3rzBf4pg7T-iCRFsSrfrPQ7TCmgp8icAz84CQG4EgHRRcWtWC85bLfekLYx-5FYStoUTbzeAgmqoGU4D0Ib0j7VsjGoXPgwC7RudeGg2HAYDfrPEGCJ1VjfKyVu1f3nLtauOQ0BmQaeQxJL27-pdXtcJjZ8EYd37iTUvYakrYKj4S5pZXAVgAyQndQBZAPv--Via_BzJbvwwBfEPfWH08ArCW-te606GrIfkkhK1ocqoFsOFKBbunLpP1UOU4eq0M8MBtyJMPzvJM64TU1yZ-juQ58WyoFjvTOkmczLbQL5e-2p9qQy71wMab_6DxPm6579xuMVfACdsQdjUkcBwHBqcIbqRHy1UXnm1o6HtG2FVXKLY5PMaTqPtDQtdRFCbRsxF2OhI2oc2xxvTsjeRsJD3TSLaDHcbxW7yyY3uDNJOPqKWXU6Kby7gMNhDP3oKSX9BEi3Mch7X-zp48bNF3AU5reOlm1ed6tltdsn30Uq98v9r2DlTFcKqU_mSqXYB3qQ5C0ef6HtVBBeqlPkcVL6D6xtL9WqrJj6jmw3N9j6oYLvU5qsUFVOc_m-r8y3aAPtf3qA4r0Pwjqm-fH_rPP00DOddgsbZGNDmCL6UDi65RHrgWUCvewqP0ZXesxj4dkPr4a8jOH2UHQlrMvbFtOGJ724JttJZ6DzX3ZTeZ0N36j-ubLaG7LBxVwvv5OC9j-JRxGGMVDurb8J2k0bGnwjRaAPfw_-4acKx5DVkjlYfbm-tvkBsb7KkWssaDMOGk5cEhhiZIozNLJI1eiADX7WO4dUzgVYR7bR6Bg5e6hUz6cBe5ufl-299pXF4ao7qArjSNEnANGYIwgWooxS9coRTG5aZG8E-mIMPCWATuPVa1D3O5bn0ZHqTu3BC2A7jGCRTGgkJuuzpJ18fmUFu0-E8jnfTYzXl6aSSWTCzYgo9wGc_iOE5YxOioXC6ms3SeMVEs2CLNI7HgAhcUaSKmcbrIpyO5pBGdRoyyKIpnMZ2wYjadshmjBeMxZQWZRlhxqZ6rNZLONbicpyxNRopnqFx3-aQ0FJVQGq6hdhmmj7Nm78g0UtJ59yLgpVe47KonTN5UqD3vzs7SQaPz4BuMhtI8gjdHq-HOtLAp40OjjxqrlqdttZe-bLJJbipCdyHe079xbc3fmIdW7rIP_dUZ-C8AAP__LHhOlA">