Test.op in released vs local mlir-opt (original) (raw)

March 18, 2025, 10:15am 1

I found a difference between my brew-installed LLVM 19.1.7 mlir-opt, and a locally built one from the same commit, which is that the locally built one doesn’t need --allow-unregistered-dialect to process "test.op" operations. Here are my compiler flags:

cmake -G Ninja ../llvm \
  -DLLVM_BUILD_EXAMPLES=ON \
  -DLLVM_TARGETS_TO_BUILD="host" \
  -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR \
  -DLLVM_ENABLE_PROJECTS='clang;mlir' \
  -DLLVM_OPTIMIZED_TABLEGEN=ON \
  -DLLVM_ENABLE_OCAMLDOC=OFF \
  -DLLVM_ENABLE_BINDINGS=OFF \
  -DLLVM_INSTALL_UTILS=ON \
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_BUILD_SHARED_LIBS=ON \
  -DMLIR_ENABLE_BINDINGS_PYTHON=ON

What should I change to match the behaviour of the distributed version?

jpienaar March 18, 2025, 11:37am 2

Disabling MLIR_INCLUDE_TESTS. This would result in the test dialect not be registered by default and so this op would be an unregistered one.