aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2024-07-16 21:30:36 +0800
committerNoah Goldstein <goldstein.w.n@gmail.com>2024-07-18 16:38:00 +0800
commit0589762e4e42a21796ca74eeb356cdfc50eaa232 (patch)
treee5ec9295eee0b1d64db161caec7a0d1da47d0517 /llvm/lib/Analysis/ValueTracking.cpp
parente8eeda8e4dc581ae744bc64a2683b5533fec8922 (diff)
downloadllvm-0589762e4e42a21796ca74eeb356cdfc50eaa232.zip
llvm-0589762e4e42a21796ca74eeb356cdfc50eaa232.tar.gz
llvm-0589762e4e42a21796ca74eeb356cdfc50eaa232.tar.bz2
[ValueTracking] Consistently propagate `DemandedElts` is `computeKnownFPClass`
Closes #99080
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index f54de03..6e039ad 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -5274,8 +5274,9 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
}
// reverse preserves all characteristics of the input vec's element.
case Intrinsic::vector_reverse:
- Known = computeKnownFPClass(II->getArgOperand(0), II->getFastMathFlags(),
- InterestedClasses, Depth + 1, Q);
+ Known = computeKnownFPClass(
+ II->getArgOperand(0), DemandedElts.reverseBits(),
+ II->getFastMathFlags(), InterestedClasses, Depth + 1, Q);
break;
case Intrinsic::trunc:
case Intrinsic::floor: