我在尝试使用 tosa 方言的 mlir-opt 工具时遇到问题 这是因为我使用的是旧版本的mlir(LLVM 18.1.8),我将mlir库更新到最新后它会修复吗?
(tf) ➜ cases git:(master) ✗ /home/cds/workspace/MLIR-Tutorials/build/cds-opt --CdsDemoPass /home/cds/workspace/MLIR-Tutorials/cases/tosa/ops.mlir
running my mlir pass cds-demo
/home/cds/workspace/MLIR-Tutorials/cases/tosa/ops.mlir:262:8: error: custom op 'tosa.int_div' is unknown
%0 = tosa.int_div %arg0, %arg1 : (tensor<13x21x1xi32>, tensor<13x21x3xi32>) -> tensor<13x21x3xi32>
我使用的版本clang,基于此的mlir库。
(tf) ➜ cases git:(master) ✗ clang --version
clang version 18.1.8
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cds/app/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04/bin
或者可能是因为没有以正确的方式启用土佐方言。 我通过
初始化它int main(int argc, char **argv) {
DialectRegistry registry;
mlir::registerAllDialects(registry);
// mlir::registerAllExtensions(registry);
mlir::registerAllPasses();
llvm::outs() << "running my mlir pass cds-demo\n";
mlir::cdsdemo::registerPasses();
return asMainReturnCode(MlirOptMain(argc, argv, "toy-opt-cds", registry));
}
我想知道为什么 tosa int_div 不被 mlir 识别,它是一种内部方言。
我将mlir更新到带有标签llvmorg-19.1.4的最新版本后,问题得到解决。