MLIR Primer: A Compiler Infrastructure for the End of Moore’s Law