brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 0c104e8 Raw
101 lines · plain
1// RUN: mlir-opt %s --split-input-file | mlir-opt | FileCheck %s2// RUN: mlir-opt %s --split-input-file --mlir-print-op-generic | mlir-opt | FileCheck %s3 4 5// -----6 7module {8  // CHECK: tosa.variable @stored_var = dense<3.140000e+00> : tensor<f32>9  tosa.variable @stored_var = dense<3.14> : tensor<f32>10 11  // CHECK-LABEL: @test_variable_scalar(12  // CHECK-SAME: %[[ADD_VAL:.*]]: tensor<f32>) {13  func.func @test_variable_scalar(%arg0: tensor<f32>) -> () {14    // CHECK: %[[STORED_VAL:.*]] = tosa.variable_read @stored_var : tensor<f32>15    %0 = tosa.variable_read @stored_var : tensor<f32>16    // CHECK: %[[RESULT_ADD:.*]] = tosa.add %[[ADD_VAL]], %[[STORED_VAL]] : (tensor<f32>, tensor<f32>) -> tensor<f32>17    %1 = "tosa.add"(%arg0, %0) : (tensor<f32>, tensor<f32>) -> tensor<f32>18    // CHECK: tosa.variable_write @stored_var, %[[RESULT_ADD]] : tensor<f32>19    tosa.variable_write @stored_var, %1 : tensor<f32>20    return21  }22}23 24 25// -----26 27module {28  // CHECK: tosa.variable @stored_var = dense<-1> : tensor<2x4x8xi32>29  tosa.variable @stored_var = dense<-1> : tensor<2x4x8xi32>30 31  // CHECK-LABEL: @test_variable_tensor(32  // CHECK-SAME: %[[ADD_VAL:.*]]: tensor<2x4x8xi32>) {33  func.func @test_variable_tensor(%arg0: tensor<2x4x8xi32>) -> () {34    // CHECK: %[[STORED_VAL:.*]] = tosa.variable_read @stored_var : tensor<2x4x8xi32>35    %0 = tosa.variable_read @stored_var : tensor<2x4x8xi32>36    // CHECK: %[[RESULT_ADD:.*]] = tosa.add %[[ADD_VAL]], %[[STORED_VAL]] : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>37    %1 = "tosa.add"(%arg0, %0) : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>38    // CHECK: tosa.variable_write @stored_var, %[[RESULT_ADD]] : tensor<2x4x8xi32>39    tosa.variable_write @stored_var, %1 : tensor<2x4x8xi32>40    return41  }42}43 44// -----45 46module {47  // CHECK: tosa.variable @stored_var : tensor<f32>48  tosa.variable @stored_var : tensor<f32>49 50  // CHECK-LABEL: @test_variable_scalar_no_initial_value(51  // CHECK-SAME: %[[ADD_VAL:.*]]: tensor<f32>) {52  func.func @test_variable_scalar_no_initial_value(%arg0: tensor<f32>) -> () {53    // CHECK: %[[STORED_VAL:.*]] = tosa.variable_read @stored_var : tensor<f32>54    %0 = tosa.variable_read @stored_var : tensor<f32>55    // CHECK: %[[RESULT_ADD:.*]] = tosa.add %[[ADD_VAL]], %[[STORED_VAL]] : (tensor<f32>, tensor<f32>) -> tensor<f32>56    %1 = "tosa.add"(%arg0, %0) : (tensor<f32>, tensor<f32>) -> tensor<f32>57    // CHECK: tosa.variable_write @stored_var, %[[RESULT_ADD]] : tensor<f32>58    tosa.variable_write @stored_var, %1 : tensor<f32>59    return60  }61}62 63// -----64 65module {66  // CHECK: tosa.variable @stored_var : tensor<2x4x8xi32>67  tosa.variable @stored_var : tensor<2x4x8xi32>68 69  // CHECK-LABEL: @test_variable_tensor_no_initial_value(70  // CHECK-SAME: %[[ADD_VAL:.*]]: tensor<2x4x8xi32>) {71  func.func @test_variable_tensor_no_initial_value(%arg0: tensor<2x4x8xi32>) -> () {72    // CHECK: %[[STORED_VAL:.*]] = tosa.variable_read @stored_var : tensor<2x4x8xi32>73    %0 = tosa.variable_read @stored_var : tensor<2x4x8xi32>74    // CHECK: %[[RESULT_ADD:.*]] = tosa.add %[[ADD_VAL]], %[[STORED_VAL]] : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>75    %1 = "tosa.add"(%arg0, %0) : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>76    // CHECK: tosa.variable_write @stored_var, %[[RESULT_ADD]] : tensor<2x4x8xi32>77    tosa.variable_write @stored_var, %1 : tensor<2x4x8xi32>78    return79  }80}81 82 83// -----84 85module {86  // CHECK: tosa.variable @stored_var : tensor<2x?x8xi32>87  tosa.variable @stored_var : tensor<2x?x8xi32>88 89  // CHECK-LABEL: @test_variable_tensor_with_unknowns(90  // CHECK-SAME: %[[ADD_VAL:.*]]: tensor<2x4x8xi32>) {91  func.func @test_variable_tensor_with_unknowns(%arg0: tensor<2x4x8xi32>) -> () {92    // CHECK: %[[STORED_VAL:.*]] = tosa.variable_read @stored_var : tensor<2x4x8xi32>93    %0 = tosa.variable_read @stored_var : tensor<2x4x8xi32>94    // CHECK: %[[RESULT_ADD:.*]] = tosa.add %[[ADD_VAL]], %[[STORED_VAL]] : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>95    %1 = "tosa.add"(%arg0, %0) : (tensor<2x4x8xi32>, tensor<2x4x8xi32>) -> tensor<2x4x8xi32>96    // CHECK: tosa.variable_write @stored_var, %[[RESULT_ADD]] : tensor<2x4x8xi32>97    tosa.variable_write @stored_var, %1 : tensor<2x4x8xi32>98    return99  }100}101