File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
lib/Conversion/MemRefToEmitC
test/Conversion/MemRefToEmitC Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -177,7 +177,8 @@ void mlir::populateMemRefToEmitCTypeConversion(TypeConverter &typeConverter) {
177
177
}
178
178
Type convertedElementType =
179
179
typeConverter.convertType (memRefType.getElementType ());
180
- if (!convertedElementType)
180
+ if (!convertedElementType ||
181
+ !emitc::isSupportedEmitCType (convertedElementType))
181
182
return {};
182
183
return emitc::ArrayType::get (memRefType.getShape (),
183
184
convertedElementType);
Original file line number Diff line number Diff line change @@ -43,3 +43,19 @@ func.func @zero_rank() {
43
43
44
44
// expected-error@+1 {{failed to legalize operation 'memref.global'}}
45
45
memref.global " nested" constant @nested_global : memref <3 x7 xf32 >
46
+
47
+ // -----
48
+
49
+ func.func @unsupported_type_f16 () {
50
+ // expected-error@+1 {{failed to legalize operation 'memref.alloca'}}
51
+ %0 = memref.alloca () : memref <4 xf16 >
52
+ return
53
+ }
54
+
55
+ // -----
56
+
57
+ func.func @unsupported_type_i4 () {
58
+ // expected-error@+1 {{failed to legalize operation 'memref.alloca'}}
59
+ %0 = memref.alloca () : memref <4 xi4 >
60
+ return
61
+ }
You can’t perform that action at this time.
0 commit comments