# MLIR EmitC

This contains a participial copy of MLIR EmitC, forked from https://github.com/iml130/mlir-emitc.

The initial import contains the C/C++ emitter (namely the files `CppEmitter.h` and `TranslateToCpp.cpp`)
and reflects  the state of iml130/mlir-emitc@f9968f65 for those files.<br>
It is intended to switch to the C/C++ emitter in the MLIR core repository as soon as possible.