[llvm] f45b759 - [DAG] SimplifyDemandedBits - call demanded elts variant directly for SELECT/SELECT_CC nodes.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 4 02:53:53 PST 2024
Author: Simon Pilgrim
Date: 2024-01-04T10:53:45Z
New Revision: f45b75949d8ccc9890241ecf9b9ad11349e1d036
URL: https://github.com/llvm/llvm-project/commit/f45b75949d8ccc9890241ecf9b9ad11349e1d036
DIFF: https://github.com/llvm/llvm-project/commit/f45b75949d8ccc9890241ecf9b9ad11349e1d036.diff
LOG: [DAG] SimplifyDemandedBits - call demanded elts variant directly for SELECT/SELECT_CC nodes.
Don't rebuild the demanded elts mask every time.
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index c28e8acd57a14a..f8400e8e94df61 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -1645,11 +1645,11 @@ bool TargetLowering::SimplifyDemandedBits(
break;
}
case ISD::SELECT:
- if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known, TLO,
- Depth + 1))
+ if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, DemandedElts,
+ Known, TLO, Depth + 1))
return true;
- if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, Known2, TLO,
- Depth + 1))
+ if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, DemandedElts,
+ Known2, TLO, Depth + 1))
return true;
assert(!Known.hasConflict() && "Bits known to be one AND zero?");
assert(!Known2.hasConflict() && "Bits known to be one AND zero?");
@@ -1675,11 +1675,11 @@ bool TargetLowering::SimplifyDemandedBits(
Known = Known.intersectWith(Known2);
break;
case ISD::SELECT_CC:
- if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, Known, TLO,
- Depth + 1))
+ if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, DemandedElts,
+ Known, TLO, Depth + 1))
return true;
- if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known2, TLO,
- Depth + 1))
+ if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, DemandedElts,
+ Known2, TLO, Depth + 1))
return true;
assert(!Known.hasConflict() && "Bits known to be one AND zero?");
assert(!Known2.hasConflict() && "Bits known to be one AND zero?");
More information about the llvm-commits
mailing list