[llvm] [SDAG] More accurate approximation in DemandedBits (PR #171266)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 8 22:43:57 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-selectiondag
Author: None (natanelh-mobileye)
<details>
<summary>Changes</summary>
Allow ShrinkDemandedOp to use Node-specific info
---
Full diff: https://github.com/llvm/llvm-project/pull/171266.diff
1 Files Affected:
- (modified) llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (+1-1)
``````````diff
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index c65ddc6c28986..bf26fec287636 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -630,7 +630,7 @@ bool TargetLowering::ShrinkDemandedOp(SDValue Op, unsigned BitWidth,
for (unsigned SmallVTBits = llvm::bit_ceil(DemandedSize);
SmallVTBits < BitWidth; SmallVTBits = NextPowerOf2(SmallVTBits)) {
EVT SmallVT = EVT::getIntegerVT(*DAG.getContext(), SmallVTBits);
- if (isTruncateFree(VT, SmallVT) && isZExtFree(SmallVT, VT)) {
+ if (isTruncateFree(Op, SmallVT) && isZExtFree(SmallVT, VT)) {
// We found a type with free casts.
// If the operation has the 'disjoint' flag, then the
``````````
</details>
https://github.com/llvm/llvm-project/pull/171266
More information about the llvm-commits
mailing list