diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-03-05 23:09:40 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-03-05 23:09:40 +0000 |
commit | a8b75ac798375e8a75a08cf62e693feaa526d182 (patch) | |
tree | fce2ee0d65f28b72bf963908563c93931ac0e583 /llvm/lib/Analysis | |
parent | 9d96f843b889fcc0a98960eeab55abd4bf4f3220 (diff) | |
download | bcm5719-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.cpp | 4 |
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; |