A series of recently landed changes replaced LLVM dialect types with compatible built-in types:
- (singless) integers;
- bf16 / bfloat;
- f16 / half;
- f32 / float;
- f64 / double;
- 1D fixed vectors of any types above;
as discussed in Exposing LLVM ops to the MLIR type system. This results in the removal of the corresponding C++ classes and some syntax changes. Utility functions provide drop-in replacements for previous functionality such as
LLVM::getVectorElementType. ⚙ D94485 [mlir] Update LLVM dialect type documentation is the final diff updating the documentation to reflect these changes.
The parser temporarily keeps accepting the syntax for LLVM types, e.g.
!llvm.i32, but produces built-in types instead. This functionality allows for (semi-)automatically updating the tests that use the existing syntax by round-tripping them through
mlir-opt. It will be removed soon.