LLVM `func` parsing
- Dominant language
- Lean
- Stars
- 109
- Forks
- 32
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 155
Description
An example of a program I would like to be able to parse:
```mlir
"builtin.module"() ({
"func.func"() <{function_type = (i64, i32) -> i32, sym_name = "main"}> ({
^bb0(%arg0: i64, %arg1: i32):
%0 = "llvm.sext"(%arg1) : (i32) -> i64
%1 = "llvm.srem"(%arg0, %0) : (i64, i64) -> i64
%2 = "llvm.trunc"(%1) <{overflowFlags = 0 : i32}> : (i64) -> i32
"func.return"(%2) : (i32) -> ()
}) : () -> ()
}) : () -> ()
```
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or parser entry points; start by locating the existing parser and how it handles MLIR operations and function bodies. Done means the provided LLVM-style MLIR example parses successfully, with the expected function, blocks, arguments, operations, and return represented correctly.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100