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

Reply via email to