Skip to content

MLIR pass test fails when using dylib #138202

Closed
@rnk

Description

@rnk

I've configured LLVM like so:

cmake -GNinja -Wno-deprecated \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_USE_SPLIT_DWARF=ON \
  -DLLVM_BUILD_DOCS=ON \
  -DLLVM_ENABLE_SPHINX=ON \
  -DLLVM_LINK_LLVM_DYLIB=ON \
  -DCLANG_LINK_CLANG_DYLIB=ON \
  -DCMAKE_CXX_FLAGS="-fno-standalone-debug" \
  -DLLVM_ENABLE_PROJECTS="lldb;mlir;clang;lld;llvm;clang-tools-extra" \
  -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt" \
  ../llvm 

In check-mlir, this one unit test fails for me, apparently only on Mac:

$ ./tools/mlir/unittests/Pass/MLIRPassTests --gtest_filter=PassManagerTest.ExecutionAction
Note: Google Test filter = PassManagerTest.ExecutionAction
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PassManagerTest
[ RUN      ] PassManagerTest.ExecutionAction
/Users/rnk/llvm-project/mlir/unittests/Pass/PassManagerTest.cpp:184: Failure
Value of: func->getDiscardableAttr("didProcess2")
  Actual: true
Expected: false

[  FAILED  ] PassManagerTest.ExecutionAction (0 ms)
[----------] 1 test from PassManagerTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] PassManagerTest.ExecutionAction

I don't know enough about MLIR to debug why this test is not behaving as expected, so I need help. The test author is @bzcheeseman . Any thoughts on why enabling the LLVM / MLIR dylib build makes this go wrong? You can also reproduce this locally if you have a Mac. It did not fail on Linux premerge testing in my pending PR: #138187

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions