diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-03-22 07:22:49 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-03-22 07:22:49 +0000 |
commit | ad5c2d04f72551c4cea3f28c7c79e929ccdaecc5 (patch) | |
tree | 41d63bf5faa23620fde0489e71259e6a58e34a49 /llvm/lib | |
parent | 3646e6289d9fc8678f0b53b466974d6010e3a1b8 (diff) | |
download | bcm5719-llvm-ad5c2d04f72551c4cea3f28c7c79e929ccdaecc5.tar.gz bcm5719-llvm-ad5c2d04f72551c4cea3f28c7c79e929ccdaecc5.zip |
[ValueTracking] Make sure we keep range metadata information when calculating known bits for calls to bitreverse intrinsic.
llvm-svn: 298488
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/ValueTracking.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp index cd7ce930900..85846bc687b 100644 --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -1414,8 +1414,8 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero, default: break; case Intrinsic::bitreverse: computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q); - KnownZero = KnownZero2.reverseBits(); - KnownOne = KnownOne2.reverseBits(); + KnownZero |= KnownZero2.reverseBits(); + KnownOne |= KnownOne2.reverseBits(); break; case Intrinsic::bswap: computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q); |