Fix PR1499.

llvm-svn: 37472
This commit is contained in:
Lauro Ramos Venancio 2007-06-06 17:08:48 +00:00
parent cfb6f40424
commit 368e8872db
1 changed files with 4 additions and 0 deletions

View File

@ -1346,6 +1346,10 @@ bool InstCombiner::SimplifyDemandedBits(Value *V, APInt DemandedMask,
// Signed shift right.
APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt));
// If any of the "high bits" are demanded, we should set the sign bit as
// demanded.
if (DemandedMask.countLeadingZeros() <= ShiftAmt)
DemandedMaskIn.set(BitWidth-1);
if (SimplifyDemandedBits(I->getOperand(0),
DemandedMaskIn,
RHSKnownZero, RHSKnownOne, Depth+1))