| Issue |
203455
|
| Summary |
[translate] error: 'func.func' op cannot emit lvalue type as argument type
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
vfdff
|
* test: https://llvm.godbo.lt/z/vrMdd3Yh5
```c
func.func @member_access(%arg0: !emitc.lvalue<!emitc.opaque<"mystruct">>,
%arg1: !emitc.lvalue<!emitc.opaque<"mystruct_ptr">>,
%arg2: !emitc.lvalue<!emitc.ptr<!emitc.opaque<"mystruct">>>) {
%0 = "emitc.member" (%arg0) {member = "a"} : (!emitc.lvalue<!emitc.opaque<"mystruct">>) -> !emitc.lvalue<i32>
%1 = "emitc.member" (%arg0) {member = "b"} : (!emitc.lvalue<!emitc.opaque<"mystruct">>) -> !emitc.array<2xi32>
%2 = "emitc.member_of_ptr" (%arg1) {member = "a"} : (!emitc.lvalue<!emitc.opaque<"mystruct_ptr">>) -> !emitc.lvalue<i32>
%3 = "emitc.member_of_ptr" (%arg1) {member = "b"} : (!emitc.lvalue<!emitc.opaque<"mystruct_ptr">>) -> !emitc.array<2xi32>
%4 = "emitc.member_of_ptr" (%arg2) {member = "a"} : (!emitc.lvalue<!emitc.ptr<!emitc.opaque<"mystruct">>>) -> !emitc.lvalue<i32>
%5 = "emitc.member_of_ptr" (%arg2) {member = "b"} : (!emitc.lvalue<!emitc.ptr<!emitc.opaque<"mystruct">>>) -> !emitc.array<2xi32>
return
}
```
For the above test, we can see that the **argument type with lvalue** is valid for mlir-opt, but invalid for translate, and report the following error now
> error: 'func.func' op cannot emit lvalue type as argument type
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs