LLVM: properly define a type for `!llvm.struct` instead of UnregisteredAttr
- Dominant language
- Lean
- Stars
- 109
- Forks
- 32
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 155
Description
From #592. Right now we parse a `!llvm.struct` into an opaque `UnregisteredAttr`. Ideally this should be parsed into something analogous to `LLVM.ArrayType`.
Reference definition from upstream MLIR: https://github.com/llvm/llvm-project/blob/367498977c36bdb723d5298f6637c8a9a5c74d77/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td#L150
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the parser and type definitions for `!llvm.struct`, then compare them with the `LLVM.ArrayType` analogue and the upstream `LLVMTypes.td` reference linked in the issue. Done means `!llvm.struct` is represented by a defined LLVM type rather than `UnregisteredAttr`.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100