16 changes: 16 additions & 0 deletions mlir/test/Examples/Toy/Ch5/trivial_reshape.toy
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# RUN: toyc-ch5 %s -emit=mlir -opt 2>&1 | FileCheck %s

def main() {
var a<2,1> = [1, 2];
var b<2,1> = a;
var c<2,1> = b;
print(c);
}

# CHECK-LABEL: func @main()
# CHECK-NEXT: [[VAL_0:%.*]] = toy.constant
# CHECK-SAME: dense<[
# CHECK-SAME: [1.000000e+00], [2.000000e+00]
# CHECK-SAME: ]> : tensor<2x1xf64>
# CHECK-NEXT: toy.print [[VAL_0]] : tensor<2x1xf64>
# CHECK-NEXT: toy.return
17 changes: 17 additions & 0 deletions mlir/test/Examples/Toy/Ch6/transpose_transpose.toy
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# RUN: toyc-ch6 %s -emit=mlir -opt 2>&1 | FileCheck %s

# User defined generic function that operates on unknown shaped arguments
def transpose_transpose(x) {
return transpose(transpose(x));
}

def main() {
var a<2, 3> = [[1, 2, 3], [4, 5, 6]];
var b = transpose_transpose(a);
print(b);
}

# CHECK-LABEL: func @main()
# CHECK-NEXT: [[VAL_1:%.*]] = toy.constant dense<{{\[\[}}1.000000e+00, 2.000000e+00, 3.000000e+00], [4.000000e+00, 5.000000e+00, 6.000000e+00]]> : tensor<2x3xf64>
# CHECK-NEXT: toy.print [[VAL_1]] : tensor<2x3xf64>
# CHECK-NEXT: toy.return
16 changes: 16 additions & 0 deletions mlir/test/Examples/Toy/Ch6/trivial_reshape.toy
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# RUN: toyc-ch6 %s -emit=mlir -opt 2>&1 | FileCheck %s

def main() {
var a<2,1> = [1, 2];
var b<2,1> = a;
var c<2,1> = b;
print(c);
}

# CHECK-LABEL: func @main()
# CHECK-NEXT: [[VAL_0:%.*]] = toy.constant
# CHECK-SAME: dense<[
# CHECK-SAME: [1.000000e+00], [2.000000e+00]
# CHECK-SAME: ]> : tensor<2x1xf64>
# CHECK-NEXT: toy.print [[VAL_0]] : tensor<2x1xf64>
# CHECK-NEXT: toy.return
17 changes: 17 additions & 0 deletions mlir/test/Examples/Toy/Ch7/transpose_transpose.toy
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# RUN: toyc-ch7 %s -emit=mlir -opt 2>&1 | FileCheck %s

# User defined generic function that operates on unknown shaped arguments
def transpose_transpose(x) {
return transpose(transpose(x));
}

def main() {
var a<2, 3> = [[1, 2, 3], [4, 5, 6]];
var b = transpose_transpose(a);
print(b);
}

# CHECK-LABEL: func @main()
# CHECK-NEXT: [[VAL_1:%.*]] = toy.constant dense<{{\[\[}}1.000000e+00, 2.000000e+00, 3.000000e+00], [4.000000e+00, 5.000000e+00, 6.000000e+00]]> : tensor<2x3xf64>
# CHECK-NEXT: toy.print [[VAL_1]] : tensor<2x3xf64>
# CHECK-NEXT: toy.return
16 changes: 16 additions & 0 deletions mlir/test/Examples/Toy/Ch7/trivial_reshape.toy
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# RUN: toyc-ch7 %s -emit=mlir -opt 2>&1 | FileCheck %s

def main() {
var a<2,1> = [1, 2];
var b<2,1> = a;
var c<2,1> = b;
print(c);
}

# CHECK-LABEL: func @main()
# CHECK-NEXT: [[VAL_0:%.*]] = toy.constant
# CHECK-SAME: dense<[
# CHECK-SAME: [1.000000e+00], [2.000000e+00]
# CHECK-SAME: ]> : tensor<2x1xf64>
# CHECK-NEXT: toy.print [[VAL_0]] : tensor<2x1xf64>
# CHECK-NEXT: toy.return