[translate] error: 'func.func' op cannot emit lvalue type as argument type
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
* test: https://llvm.godbo.lt/z/vrMdd3Yh5
```c
func.func @member_access(%arg0: !emitc.lvalue>,
%arg1: !emitc.lvalue>,
%arg2: !emitc.lvalue>>) {
%0 = "emitc.member" (%arg0) {member = "a"} : (!emitc.lvalue>) -> !emitc.lvalue
%1 = "emitc.member" (%arg0) {member = "b"} : (!emitc.lvalue>) -> !emitc.array<2xi32>
%2 = "emitc.member_of_ptr" (%arg1) {member = "a"} : (!emitc.lvalue>) -> !emitc.lvalue
%3 = "emitc.member_of_ptr" (%arg1) {member = "b"} : (!emitc.lvalue>) -> !emitc.array<2xi32>
%4 = "emitc.member_of_ptr" (%arg2) {member = "a"} : (!emitc.lvalue>>) -> !emitc.lvalue
%5 = "emitc.member_of_ptr" (%arg2) {member = "b"} : (!emitc.lvalue>>) -> !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
Contributor guide
Assessment
This issue has not been assessed yet.