[llvm] [DAGCombiner] Use APInt::isPower2() instead of popcount() == 1. NFC (PR #182600)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 20 14:00:36 PST 2026
https://github.com/topperc created https://github.com/llvm/llvm-project/pull/182600
None
>From e6dea2cfc3ddee916dc28a7632fd85445f95eb9d Mon Sep 17 00:00:00 2001
From: Craig Topper <craig.topper at sifive.com>
Date: Fri, 20 Feb 2026 13:59:50 -0800
Subject: [PATCH] [DAGCombiner] Use APInt::isPower2() instead of popcount() ==
1. NFC
---
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 723f838da1246..2bbb373323dfa 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -29913,7 +29913,7 @@ SDValue DAGCombiner::SimplifySelectCC(const SDLoc &DL, SDValue N0, SDValue N1,
N0->getValueType(0) == VT && isNullConstant(N1) && isNullConstant(N2)) {
SDValue AndLHS = N0->getOperand(0);
auto *ConstAndRHS = dyn_cast<ConstantSDNode>(N0->getOperand(1));
- if (ConstAndRHS && ConstAndRHS->getAPIntValue().popcount() == 1) {
+ if (ConstAndRHS && ConstAndRHS->getAPIntValue().isPowerOf2()) {
// Shift the tested bit over the sign bit.
const APInt &AndMask = ConstAndRHS->getAPIntValue();
if (TLI.shouldFoldSelectWithSingleBitTest(VT, AndMask)) {
More information about the llvm-commits
mailing list