llvm / llvm/llvm-project

[translate] error: 'func.func' op cannot emit lvalue type as argument type

Open
#203,455 1 comment 0 reactions 0 assignees View on GitHub
mlir
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.