From: Thomas Preud'homme Date: Mon, 23 Jan 2023 14:01:08 +0000 (+0000) Subject: [MLIR] Fix tensor shapes in Toy chapter 1 X-Git-Tag: upstream/17.0.6~19431 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bfedf169f4261a0fbe097f4a717d375dda2503c4;p=platform%2Fupstream%2Fllvm.git [MLIR] Fix tensor shapes in Toy chapter 1 In Toy tutorial chapter 1, multiply_transpose() is called with b<2, 3> and c<3, 2> when both parameters should have the same shape. This commit fixes this by instead using c and d as parameters and fix a comment typo where c and d are mentioned to have shape <2, 2> when they actually have shape <3, 2>. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D142622 --- diff --git a/mlir/docs/Tutorials/Toy/Ch-1.md b/mlir/docs/Tutorials/Toy/Ch-1.md index c851f18..6838c34 100644 --- a/mlir/docs/Tutorials/Toy/Ch-1.md +++ b/mlir/docs/Tutorials/Toy/Ch-1.md @@ -59,7 +59,7 @@ def main() { # A new call with <3, 2> (instead of <2, 3>) for both dimensions will # trigger another specialization of `multiply_transpose`. - var e = multiply_transpose(b, c); + var e = multiply_transpose(c, d); # Finally, calling into `multiply_transpose` with incompatible shape will # trigger a shape inference error. @@ -106,8 +106,8 @@ Module: ] VarDecl e<> @test/Examples/Toy/Ch1/ast.toy:25:3 Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:25:11 - var: b @test/Examples/Toy/Ch1/ast.toy:25:30 - var: c @test/Examples/Toy/Ch1/ast.toy:25:33 + 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 diff --git a/mlir/test/Examples/Toy/Ch1/ast.toy b/mlir/test/Examples/Toy/Ch1/ast.toy index 19f525a..dc209a0 100644 --- a/mlir/test/Examples/Toy/Ch1/ast.toy +++ b/mlir/test/Examples/Toy/Ch1/ast.toy @@ -15,14 +15,14 @@ def main() { var b<2, 3> = [1, 2, 3, 4, 5, 6]; # This call will specialize `multiply_transpose` with <2, 3> for both - # arguments and deduce a return type of <2, 2> in initialization of `c`. + # arguments and deduce a return type of <3, 2> in initialization of `c`. var c = multiply_transpose(a, b); # A second call to `multiply_transpose` with <2, 3> for both arguments will - # reuse the previously specialized and inferred version and return `<2, 2>` + # reuse the previously specialized and inferred version and return `<3, 2>` var d = multiply_transpose(b, a); - # A new call with `<2, 2>` for both dimension will trigger another + # A new call with `<3, 2>` for both dimension will trigger another # specialization of `multiply_transpose`. - var e = multiply_transpose(b, c); + var e = multiply_transpose(c, d); # Finally, calling into `multiply_transpose` with incompatible shape will # trigger a shape inference error. var f = multiply_transpose(transpose(a), c); @@ -63,8 +63,8 @@ def main() { # CHECK-NEXT: ] # CHECK-NEXT: VarDecl e<> @{{.*}}ast.toy:25:3 # CHECK-NEXT: Call 'multiply_transpose' [ @{{.*}}ast.toy:25:11 -# CHECK-NEXT: var: b @{{.*}}ast.toy:25:30 -# CHECK-NEXT: var: c @{{.*}}ast.toy:25:33 +# CHECK-NEXT: var: c @{{.*}}ast.toy:25:30 +# CHECK-NEXT: var: d @{{.*}}ast.toy:25:33 # CHECK-NEXT: ] # CHECK-NEXT: VarDecl f<> @{{.*}}ast.toy:28:3 # CHECK-NEXT: Call 'multiply_transpose' [ @{{.*}}ast.toy:28:11