48int main(
int argc,
char **argv) {
49 llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef());
50 llvm::setBugReportMsg(
"PLEASE submit a bug report to " BUG_REPORT_URL
51 " and include the crash backtrace, relevant LLZK files,"
52 " and associated run script(s).\n");
53 llvm::cl::AddExtraVersionPrinter([](llvm::raw_ostream &os) {
58 mlir::DialectRegistry registry;
60 r1cs::registerAllDialects(registry);
71 std::string inputFilename, outputFilename;
72 std::tie(inputFilename, outputFilename) =
73 registerAndParseCLIOptions(argc, argv,
"llzk-opt", registry);
76 mlir::MLIRContext context;
77 context.appendDialectRegistry(registry);
78 context.loadAllAvailableDialects();
79 llvm::outs() <<
"All ops registered in LLZK IR: {\n";
80 for (
const auto &opName : context.getRegisteredOperations()) {
81 llvm::outs().indent(2) << opName.getStringRef() <<
'\n';
83 llvm::outs() <<
"}\n";
93 auto result = mlir::MlirOptMain(argc, argv, inputFilename, outputFilename, registry);
94 return mlir::asMainReturnCode(result);