Skip to content

LLVM fails some PassBuilderCallbacks tests with 12.0.0-rc1 #48336

@marv

Description

@marv
mannequin
Bugzilla Link 48992
Resolution FIXED
Resolved on Jun 04, 2021 11:42
Version unspecified
OS Linux
Blocks #48661
CC @foutrelis,@LW-archlinux,@xhochy,@serge-sans-paille,@tstellar,@yuanfang-chen
Fixed by commit(s) 3d3abc2 328a6ec

Extended Description

On Exherbo I see the following test failures with 12.0.0-rc1:

Failed Tests (10):
LLVM-Unit :: IR/./IRTests/CGSCCCallbacksTest.InstrumentedInvalidatingPasses
LLVM-Unit :: IR/./IRTests/CGSCCCallbacksTest.InstrumentedPasses
LLVM-Unit :: IR/./IRTests/CGSCCCallbacksTest.InstrumentedSkippedPasses
LLVM-Unit :: IR/./IRTests/FunctionCallbacksTest.InstrumentedPasses
LLVM-Unit :: IR/./IRTests/FunctionCallbacksTest.InstrumentedSkippedPasses
LLVM-Unit :: IR/./IRTests/LoopCallbacksTest.InstrumentedInvalidatingLoopNestPasses
LLVM-Unit :: IR/./IRTests/LoopCallbacksTest.InstrumentedInvalidatingPasses
LLVM-Unit :: IR/./IRTests/LoopCallbacksTest.InstrumentedPasses
LLVM-Unit :: IR/./IRTests/LoopCallbacksTest.InstrumentedSkippedPasses
LLVM-Unit :: IR/./IRTests/ModuleCallbacksTest.InstrumentedSkippedPasses

Testing Time: 205.97s
Unsupported : 1522
Passed : 40384
Expectedly Failed: 143
Failed : 10

The tests failures all look like this:

[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from LoopCallbacksTest
[ RUN ] LoopCallbacksTest.InstrumentedInvalidatingPasses
unknown file: Failure

Unexpected mock function call - returning directly.
Function call: runBeforeNonSkippedPass("PassManagerllvm::Function", 8-byte object <10-98 B3-CF 9C-55 00-00>)
Google Mock tried the following 4 expectations, but none matched:

/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​0: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name ""
Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: called once - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​1: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name "foo"
Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: never called - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​2: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name "loop"
Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: never called - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:902: tried expectation #​3: EXPECT_CALL(CallbacksHandle, runBeforeNonSkippedPass(HasNameRegex("MockPassHandle"), HasName("loop")))...
Expected arg #​0: has name regex "MockPassHandle"
Actual: "PassManagerllvm::Function", has name 'PassManagerllvm::Function'
Expected arg #​1: has name "loop"
Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name ''
Expected: to be called once
Actual: never called - unsatisfied and active
unknown file: Failure

Unexpected mock function call - returning directly.
Function call: runBeforeNonSkippedPass("FunctionToLoopPassAdaptor", 8-byte object <30-98 B3-CF 9C-55 00-00>)
Google Mock tried the following 4 expectations, but none matched:

/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​0: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name ""
Actual: 8-byte object <80-B2 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: called once - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​1: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name "foo"
Actual: 8-byte object <80-B2 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: never called - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:390: tried expectation #​2: EXPECT_CALL(*this, runBeforeNonSkippedPass(Not(HasNameRegex("Mock")), HasName(IRName)))...
Expected arg #​1: has name "loop"
Actual: 8-byte object <80-B2 B3-CF 9C-55 00-00>, has name ''
Expected: to be called any number of times
Actual: never called - satisfied and active
/var/tmp/paludis/build/dev-lang-llvm-12.0.0_rc1/work/llvm-project/llvm/unittests/IR/PassBuilderCallbacksTest.cpp:902: tried expectation #​3: EXPECT_CALL(CallbacksHandle, runBeforeNonSkippedPass(HasNameRegex("MockPassHandle"), HasName("loop")))...
Expected arg #​0: has name regex "MockPassHandle"
Actual: "FunctionToLoopPassAdaptor", has name 'FunctionToLoopPassAdaptor'
Expected arg #​1: has name "loop"
Actual: 8-byte object <80-B2 B3-CF 9C-55 00-00>, has name ''
Expected: to be called once
Actual: never called - unsatisfied and active
unknown file: Failure

[...]

The name is always "" instead of the expected name.

Full log can be found here: https://dev.exherbo.org/~marv/1611936999-install-dev-lang_llvm-12.0.0_rc1:12::arbor.out

Since all commits touching llvm/unittests/IR/PassBuilderCallbacksTest.cpp are prefixed with "NewPM" I tried building with -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=ON as well, but with the same result.

Any help is much appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions