summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-03-05 23:09:40 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-03-05 23:09:40 +0000
commita8b75ac798375e8a75a08cf62e693feaa526d182 (patch)
treefce2ee0d65f28b72bf963908563c93931ac0e583 /llvm/lib/Analysis
parent9d96f843b889fcc0a98960eeab55abd4bf4f3220 (diff)
downloadbcm5719-llvm-a8b75ac798375e8a75a08cf62e693feaa526d182.tar.gz
bcm5719-llvm-a8b75ac798375e8a75a08cf62e693feaa526d182.zip
Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189.
llvm-svn: 152066
Diffstat (limited to 'llvm/lib/Analysis')
-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 b5811f2e8ae..b35e2074acb 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -691,8 +691,8 @@ void llvm::ComputeMaskedBits(Value *V, const APInt &Mask,
if (P->hasConstantValue() == P)
break;
- KnownZero = APInt::getAllOnesValue(BitWidth);
- KnownOne = APInt::getAllOnesValue(BitWidth);
+ KnownZero = Mask;
+ KnownOne = Mask;
for (unsigned i = 0, e = P->getNumIncomingValues(); i != e; ++i) {
// Skip direct self references.
if (P->getIncomingValue(i) == P) continue;
OpenPOWER on IntegriCloud