53int main(
int argc,
char **argv) {
54 llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef());
55 llvm::setBugReportMsg(
57 " and include the crash backtrace, relevant LLZK files,"
58 " and associated run script(s).\n"
60 llvm::cl::AddExtraVersionPrinter([](llvm::raw_ostream &os) {
65 mlir::DialectRegistry registry;
67 r1cs::registerAllDialects(registry);
69 pcl::registerAllDialects(registry);
81 std::string inputFilename, outputFilename;
82 std::tie(inputFilename, outputFilename) =
83 registerAndParseCLIOptions(argc, argv,
"llzk-opt", registry);
86 mlir::MLIRContext context;
87 context.appendDialectRegistry(registry);
88 context.loadAllAvailableDialects();
89 llvm::outs() <<
"All ops registered in LLZK IR: {\n";
90 for (
const auto &opName : context.getRegisteredOperations()) {
91 llvm::outs().indent(2) << opName.getStringRef() <<
'\n';
93 llvm::outs() <<
"}\n";
103 auto result = mlir::MlirOptMain(argc, argv, inputFilename, outputFilename, registry);
104 return mlir::asMainReturnCode(result);