[llvm] Remove the optional bitcast between a musttail call and its ret (PR #201280)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 3 00:52:47 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 175022 tests passed
* 3426 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.Verifier/musttail-invalid.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
not /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-as /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Verifier/musttail-invalid.ll -o /dev/null 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Verifier/musttail-invalid.ll
# executed command: not /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-as /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Verifier/musttail-invalid.ll -o /dev/null
# 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/Verifier/musttail-invalid.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Verifier/musttail-invalid.ll:72:10: error: CHECK: expected string not found in input
# | ; CHECK: musttail call must precede a ret with an optional bitcast
# |          ^
# | <stdin>:21:79: note: scanning from here
# | cannot guarantee tail call due to mismatched ABI impacting function attributes
# |                                                                               ^
# | <stdin>:24:1: note: possible intended match here
# | musttail call must precede a ret
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Verifier/musttail-invalid.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            16:  musttail call void @mismatched_inreg_callee(i32 inreg %a) 
# |            17: i32 %a 
# |            18: cannot guarantee tail call due to mismatched ABI impacting function attributes 
# |            19:  musttail call void @mismatched_sret_callee(ptr sret(i32) %a) 
# |            20: ptr %a 
# |            21: cannot guarantee tail call due to mismatched ABI impacting function attributes 
# | check:72'0                                                                                   X error: no match found
# |            22:  musttail call void @mismatched_alignment_callee(ptr byval(i32) align 8 %a) 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            23: ptr %a 
# | check:72'0     ~~~~~~~
# |            24: musttail call must precede a ret 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:72'1     ?                                 possible intended match
# |            25:  %v = musttail call i32 @not_tail_pos_callee() 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            26: cannot use musttail call with inline asm 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            27:  musttail call void asm "ret", ""() 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 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/201280


More information about the llvm-commits mailing list