[llvm] [PowerPC] Fix miscompilation when using 32-bit ucmp on 64-bit PowerPC (PR #178979)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 30 14:51:44 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 169036 tests passed
* 3018 tests skipped
* 3 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/PowerPC/ucmp.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=ppc64le-unknown-unknown /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=ppc64le-unknown-unknown /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll:7:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: subc 6, 4, 3
# | ^
# | <stdin>:13:2: note: 'next' match was here
# | subc 6, 4, 3
# | ^
# | <stdin>:9:9: note: previous match ended here
# | # %bb.0:
# | ^
# | <stdin>:10:1: note: non-matching line after previous match is here
# | clrldi 3, 3, 32
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll:19:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: subc 6, 4, 3
# | ^
# | <stdin>:31:2: note: 'next' match was here
# | subc 6, 4, 3
# | ^
# | <stdin>:27:9: note: previous match ended here
# | # %bb.0:
# | ^
# | <stdin>:28:1: note: non-matching line after previous match is here
# | clrldi 3, 3, 32
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/ucmp.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 8: .Lfunc_begin0:
# | 9: # %bb.0:
# | 10: clrldi 3, 3, 32
# | 11: clrldi 4, 4, 32
# | 12: sub 5, 3, 4
# | 13: subc 6, 4, 3
# | next:7 !~~~~~~~~~~~ error: match on wrong line
# | 14: subfe 3, 4, 3
# | 15: subfe 3, 3, 5
# | 16: blr
# | 17: .long 0
# | 18: .quad 0
# | .
# | .
# | .
# | 26: .Lfunc_begin1:
# | 27: # %bb.0:
# | 28: clrldi 3, 3, 32
# | 29: clrldi 4, 4, 32
# | 30: sub 5, 3, 4
# | 31: subc 6, 4, 3
# | next:19 !~~~~~~~~~~~ error: match on wrong line
# | 32: subfe 3, 4, 3
# | 33: subfe 3, 3, 5
# | 34: blr
# | 35: .long 0
# | 36: .quad 0
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### lldb-api
<details>
<summary>lldb-api.lang/c/calling-conventions/TestCCallingConventions.py</summary>
```
Script:
--
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib --env LLVM_INCLUDE_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include --env LLVM_TOOLS_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin --libcxx-include-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/include/c++/v1 --libcxx-include-target-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/include/x86_64-unknown-linux-gnu/c++/v1 --libcxx-library-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib/x86_64-unknown-linux-gnu --arch x86_64 --build-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex --lldb-module-cache-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/lldb --compiler /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang --dsymutil /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin --lldb-obj-root /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb --lldb-libs-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib --cmake-build-type Release /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/lang/c/calling-conventions -p TestCCallingConventions.py
--
Exit Code: 1
Command Output (stdout):
--
lldb version 23.0.0git (https://github.com/llvm/llvm-project revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07)
clang revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07
llvm revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07
Skipping the following test categories: msvcstl, dsym, pdb, gmodules, debugserver, objc
--
Command Output (stderr):
--
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_fastcall (TestCCallingConventions.TestCase.test_fastcall)
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_ms_abi (TestCCallingConventions.TestCase.test_ms_abi)
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_pascal (TestCCallingConventions.TestCase.test_pascal)
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_regcall (TestCCallingConventions.TestCase.test_regcall)
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_stdcall (TestCCallingConventions.TestCase.test_stdcall)
PASS: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_sysv_abi (TestCCallingConventions.TestCase.test_sysv_abi)
FAIL: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_vectorcall (TestCCallingConventions.TestCase.test_vectorcall)
======================================================================
FAIL: test_vectorcall (TestCCallingConventions.TestCase.test_vectorcall)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py", line 75, in test_vectorcall
self.expect_expr("func(1.0)", result_type="int", result_value="1")
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2619, in expect_expr
value_check.check_value(self, eval_result, str(eval_result))
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 306, in check_value
test_base.assertSuccess(val.GetError())
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2654, in assertSuccess
self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
AssertionError: 'Expression evaluation in pure C not supported. Ran expression as 'ISO C++'.
error: Couldn't look up symbols:
func@@8
Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
' is not success
Config=x86_64-/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang
----------------------------------------------------------------------
Ran 7 tests in 0.931s
FAILED (failures=1)
--
```
</details>
<details>
<summary>lldb-api.lang/cpp/thread_local/TestThreadLocal.py</summary>
```
Script:
--
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib --env LLVM_INCLUDE_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include --env LLVM_TOOLS_DIR=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin --libcxx-include-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/include/c++/v1 --libcxx-include-target-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/include/x86_64-unknown-linux-gnu/c++/v1 --libcxx-library-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib/x86_64-unknown-linux-gnu --arch x86_64 --build-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex --lldb-module-cache-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/lldb --compiler /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang --dsymutil /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin --lldb-obj-root /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb --lldb-libs-dir /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./lib --cmake-build-type Release /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/lang/cpp/thread_local -p TestThreadLocal.py
--
Exit Code: 1
Command Output (stdout):
--
lldb version 23.0.0git (https://github.com/llvm/llvm-project revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07)
clang revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07
llvm revision 2c827bfe3fc161600dac9fea6582d65ec30d8f07
Skipping the following test categories: msvcstl, dsym, pdb, gmodules, debugserver, objc
--
Command Output (stderr):
--
UNSUPPORTED: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_thread_local_dsym (TestThreadLocal.PlatformProcessCrashInfoTestCase.test_thread_local_dsym) (test case does not fall in any category of interest for this run)
FAIL: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_thread_local_dwarf (TestThreadLocal.PlatformProcessCrashInfoTestCase.test_thread_local_dwarf)
FAIL: LLDB (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang-x86_64) :: test_thread_local_dwo (TestThreadLocal.PlatformProcessCrashInfoTestCase.test_thread_local_dwo)
======================================================================
FAIL: test_thread_local_dwarf (TestThreadLocal.PlatformProcessCrashInfoTestCase.test_thread_local_dwarf)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1844, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py", line 47, in test_thread_local
self.expect(
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2476, in expect
self.assertFalse(
AssertionError: True is not false : Command 'expr tl_local_int' is expected to fail!
Config=x86_64-/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang
======================================================================
FAIL: test_thread_local_dwo (TestThreadLocal.PlatformProcessCrashInfoTestCase.test_thread_local_dwo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1844, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py", line 47, in test_thread_local
self.expect(
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2476, in expect
self.assertFalse(
AssertionError: True is not false : Command 'expr tl_local_int' is expected to fail!
Config=x86_64-/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang
----------------------------------------------------------------------
Ran 3 tests in 0.493s
FAILED (failures=2, skipped=1)
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/178979
More information about the llvm-commits
mailing list