54int main(
int argc,
char **argv) {
55 llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef());
56 llvm::setBugReportMsg(
58 " and include the crash backtrace, relevant LLZK files,"
59 " and associated run script(s).\n"
61 llvm::cl::AddExtraVersionPrinter([](llvm::raw_ostream &os) {
66 mlir::DialectRegistry registry;
68 r1cs::registerAllDialects(registry);
70 pcl::registerAllDialects(registry);
82 pcl::registerTransformationPasses();
86 std::string inputFilename, outputFilename;
87 std::tie(inputFilename, outputFilename) =
88 registerAndParseCLIOptions(argc, argv,
"llzk-opt", registry);
91 mlir::MLIRContext context;
92 context.appendDialectRegistry(registry);
93 context.loadAllAvailableDialects();
94 llvm::outs() <<
"All ops registered in LLZK IR: {\n";
95 for (
const auto &opName : context.getRegisteredOperations()) {
96 llvm::outs().indent(2) << opName.getStringRef() <<
'\n';
98 llvm::outs() <<
"}\n";
108 auto result = mlir::MlirOptMain(argc, argv, inputFilename, outputFilename, registry);
109 return mlir::asMainReturnCode(result);