Recent commits reconfigured LLVM dialect types to use built-in types whenever
possible. Update the documentation accordingly.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/docs/Dialects/LLVM.md | ||
---|---|---|
214 | You might want to explicitly say something like "Each LLVM IR type corresponds to exactly one MLIR type. For example, because i32 is LLVM-compatible, there is no !llvm.i32 type. However, !llvm.ptr<T> is defined in the LLVM dialect as there is no corresponding builtin type." This is an important invariant of the mental model that makes this mixed situation understandable to users. Perhaps there is a better name for the "builtin types that are used as part of the LLVM dialect" than "compatible". To me, "compatible" suggests that they can optionally be used, when in fact their use is mandatory. |
You might want to explicitly say something like "Each LLVM IR type corresponds to exactly one MLIR type. For example, because i32 is LLVM-compatible, there is no !llvm.i32 type. However, !llvm.ptr<T> is defined in the LLVM dialect as there is no corresponding builtin type."
This is an important invariant of the mental model that makes this mixed situation understandable to users.
Perhaps there is a better name for the "builtin types that are used as part of the LLVM dialect" than "compatible". To me, "compatible" suggests that they can optionally be used, when in fact their use is mandatory.