[llvm] [DAG] Improved ISD::SHL handling in isKnownToBeAPowerOfTwo (PR #181882)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 18 03:06:59 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 3055 tests passed
* 29 tests skipped
All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.
<details>
<summary>[code=1] lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAG.cpp.obj</summary>
```
FAILED: [code=1] lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAG.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_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\CodeGen\SelectionDAG -IC:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG -Iinclude -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 -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Folib\CodeGen\SelectionDAG\CMakeFiles\LLVMSelectionDAG.dir\SelectionDAG.cpp.obj /Fdlib\CodeGen\SelectionDAG\CMakeFiles\LLVMSelectionDAG.dir\LLVMSelectionDAG.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp(4718,52): warning: '&&' within '||' [-Wlogical-op-parentheses]
4718 | return (OrZero || isKnownNeverZero(Val, Depth) &&
| ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
4719 | isKnownToBeAPowerOfTwo(Val.getOperand(0), DemandedElts, OrZero, Depth + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp(4718,52): note: place parentheses around the '&&' expression to silence this warning
4718 | return (OrZero || isKnownNeverZero(Val, Depth) &&
| ^
| (
4719 | isKnownToBeAPowerOfTwo(Val.getOperand(0), DemandedElts, OrZero, Depth + 1);
|
| )
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp(4719,87): error: expected ')'
4719 | isKnownToBeAPowerOfTwo(Val.getOperand(0), DemandedElts, OrZero, Depth + 1);
| ^
C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp(4718,12): note: to match this '('
4718 | return (OrZero || isKnownNeverZero(Val, Depth) &&
| ^
1 warning and 1 error 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/181882
More information about the llvm-commits
mailing list