summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-03-22 07:22:49 +0000
committerCraig Topper <craig.topper@gmail.com>2017-03-22 07:22:49 +0000
commitad5c2d04f72551c4cea3f28c7c79e929ccdaecc5 (patch)
tree41d63bf5faa23620fde0489e71259e6a58e34a49 /llvm/lib
parent3646e6289d9fc8678f0b53b466974d6010e3a1b8 (diff)
downloadbcm5719-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.cpp4
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);
OpenPOWER on IntegriCloud