1// RUN: mlir-opt -convert-memref-to-emitc %s -split-input-file -verify-diagnostics 2 3func.func @memref_op(%arg0 : memref<2x4xf32>) { 4 // expected-error@+1 {{failed to legalize operation 'memref.copy'}} 5 memref.copy %arg0, %arg0 : memref<2x4xf32> to memref<2x4xf32> 6 return 7} 8 9// ----- 10 11func.func @alloca_with_dynamic_shape() { 12 %0 = index.constant 1 13 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 14 %1 = memref.alloca(%0) : memref<4x?xf32> 15 return 16} 17 18// ----- 19 20func.func @alloca_with_alignment() { 21 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 22 %0 = memref.alloca() {alignment = 64 : i64}: memref<4xf32> 23 return 24} 25 26// ----- 27 28func.func @non_identity_layout() { 29 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 30 %0 = memref.alloca() : memref<4x3xf32, affine_map<(d0, d1) -> (d1, d0)>> 31 return 32} 33 34// ----- 35 36func.func @zero_rank() { 37 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 38 %0 = memref.alloca() : memref<f32> 39 return 40} 41 42// ----- 43 44func.func @zero_dim_rank_1() { 45 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 46 %0 = memref.alloca() : memref<0xf32> 47 return 48} 49 50// ----- 51 52func.func @zero_dim_rank_3() { 53 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 54 %0 = memref.alloca() : memref<2x0x4xf32> 55 return 56} 57 58// ----- 59 60// expected-error@+1 {{failed to legalize operation 'memref.global'}} 61memref.global "nested" constant @nested_global : memref<3x7xf32> 62 63// ----- 64 65func.func @unsupported_type_f128() { 66 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 67 %0 = memref.alloca() : memref<4xf128> 68 return 69} 70 71// ----- 72 73func.func @unsupported_type_i4() { 74 // expected-error@+1 {{failed to legalize operation 'memref.alloca'}} 75 %0 = memref.alloca() : memref<4xi4> 76 return 77} 78