Hi! I know this is an old thread but I gotta say, MLIR isn’t just Mojo hype at all!
It’s actually a great framework for flexible compiler infrastructure. It allows compiler devs to leverage boiler plate passes and is useful even as a standalone IR framework, allowing you to build a frontend, optimizations and backend completely decoupled from the main dialects if preffered.
Regarding what MoAlyousef mentioned, CIR (ClangIR) is aiming to become the main clang solution, currently on it’s way to become upstreamed. On the other end, there’s CIRCT, which is a hardware synthesis framework based on MLIR but doesn’t require using an MLIR frontend. Also, it’s already used by blue chip companies for reliable production level compilers.
That all being said, I hope zig moves toward mlir. Even for single CPU targeting, it allows better parallelism inference and boilerplate code reusability. Still, unlike LLVM IR, it doesn’t tie you into using mainstream tools. It allows you to choose whatever parts you want from it and build your own stuff.