[llvm] [BranchFolding] Fold fallthroughs into conditional tailcalls if profitable (PR #140476)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 05:52:37 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BranchFolding.cpp.obj</summary>

```
FAILED: [code=1] lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BranchFolding.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\lib\CodeGen -IC:\_work\llvm-project\llvm-project\llvm\lib\CodeGen -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Folib\CodeGen\CMakeFiles\LLVMCodeGen.dir\BranchFolding.cpp.obj /Fdlib\CodeGen\CMakeFiles\LLVMCodeGen.dir\LLVMCodeGen.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1562,14): warning: variable 'PredHasHotSuccessor' set but not used [-Wunused-but-set-variable]
1562 |         bool PredHasHotSuccessor = false;
|              ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1852,57): error: function definition is not allowed here
1852 | bool BranchFolder::HoistCommonCode(MachineFunction &MF) {
|                                                         ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1863,69): error: function definition is not allowed here
1863 |                                          MachineBasicBlock *TrueBB) {
|                                                                     ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1872,49): error: function definition is not allowed here
1872 |                                 Container &Set) {
|                                                 ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1893,80): error: function definition is not allowed here
1893 |                                                   SmallSet<Register, 4> &Defs) {
|                                                                                ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1985,67): error: function definition is not allowed here
1985 | bool BranchFolder::HoistCommonCodeInSuccs(MachineBasicBlock *MBB) {
|                                                                   ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(2202,2): error: expected '}'
2202 | }
|  ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\BranchFolding.cpp(1354,58): note: to match this '{'
1354 | bool BranchFolder::OptimizeBlock(MachineBasicBlock *MBB) {
|                                                          ^
1 warning and 6 errors generated.
```
</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/140476


More information about the llvm-commits mailing list