<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - LLVM fails some PassBuilderCallbacks tests with 12.0.0-rc1"
   href="https://bugs.llvm.org/show_bug.cgi?id=48992">48992</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LLVM fails some PassBuilderCallbacks tests with 12.0.0-rc1
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>marvin.schmidt1987@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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("PassManager<llvm::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 "<string>"
           Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name
'<UNKNOWN>'
         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
'<UNKNOWN>'
         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
'<UNKNOWN>'
         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: "PassManager<llvm::Function>", has name
'PassManager<llvm::Function>'
  Expected arg #1: has name "loop"
           Actual: 8-byte object <30-98 B3-CF 9C-55 00-00>, has name
'<UNKNOWN>'
         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 "<string>"
           Actual: 8-byte object <80-B2 B3-CF 9C-55 00-00>, has name
'<UNKNOWN>'
         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
'<UNKNOWN>'
         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
'<UNKNOWN>'
         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
'<UNKNOWN>'
         Expected: to be called once
           Actual: never called - unsatisfied and active
unknown file: Failure

[...]


The name is always "<UNKNOWN>" instead of the expected name.

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

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</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>