forked from OSchip/llvm-project
Fix indentation in ScalarEvolution.cpp.
Whitespace-only change. (clang-formatted the whole block.) llvm-svn: 334427
This commit is contained in:
parent
dd9415d550
commit
7b4656c1d3
|
@ -6218,33 +6218,33 @@ const SCEV *ScalarEvolution::createSCEV(Value *V) {
|
|||
}
|
||||
break;
|
||||
|
||||
case Instruction::Shl:
|
||||
// Turn shift left of a constant amount into a multiply.
|
||||
if (ConstantInt *SA = dyn_cast<ConstantInt>(BO->RHS)) {
|
||||
uint32_t BitWidth = cast<IntegerType>(SA->getType())->getBitWidth();
|
||||
case Instruction::Shl:
|
||||
// Turn shift left of a constant amount into a multiply.
|
||||
if (ConstantInt *SA = dyn_cast<ConstantInt>(BO->RHS)) {
|
||||
uint32_t BitWidth = cast<IntegerType>(SA->getType())->getBitWidth();
|
||||
|
||||
// If the shift count is not less than the bitwidth, the result of
|
||||
// the shift is undefined. Don't try to analyze it, because the
|
||||
// resolution chosen here may differ from the resolution chosen in
|
||||
// other parts of the compiler.
|
||||
if (SA->getValue().uge(BitWidth))
|
||||
break;
|
||||
// If the shift count is not less than the bitwidth, the result of
|
||||
// the shift is undefined. Don't try to analyze it, because the
|
||||
// resolution chosen here may differ from the resolution chosen in
|
||||
// other parts of the compiler.
|
||||
if (SA->getValue().uge(BitWidth))
|
||||
break;
|
||||
|
||||
// It is currently not resolved how to interpret NSW for left
|
||||
// shift by BitWidth - 1, so we avoid applying flags in that
|
||||
// case. Remove this check (or this comment) once the situation
|
||||
// is resolved. See
|
||||
// http://lists.llvm.org/pipermail/llvm-dev/2015-April/084195.html
|
||||
// and http://reviews.llvm.org/D8890 .
|
||||
auto Flags = SCEV::FlagAnyWrap;
|
||||
if (BO->Op && SA->getValue().ult(BitWidth - 1))
|
||||
Flags = getNoWrapFlagsFromUB(BO->Op);
|
||||
// It is currently not resolved how to interpret NSW for left
|
||||
// shift by BitWidth - 1, so we avoid applying flags in that
|
||||
// case. Remove this check (or this comment) once the situation
|
||||
// is resolved. See
|
||||
// http://lists.llvm.org/pipermail/llvm-dev/2015-April/084195.html
|
||||
// and http://reviews.llvm.org/D8890 .
|
||||
auto Flags = SCEV::FlagAnyWrap;
|
||||
if (BO->Op && SA->getValue().ult(BitWidth - 1))
|
||||
Flags = getNoWrapFlagsFromUB(BO->Op);
|
||||
|
||||
Constant *X = ConstantInt::get(getContext(),
|
||||
APInt::getOneBitSet(BitWidth, SA->getZExtValue()));
|
||||
return getMulExpr(getSCEV(BO->LHS), getSCEV(X), Flags);
|
||||
}
|
||||
break;
|
||||
Constant *X = ConstantInt::get(
|
||||
getContext(), APInt::getOneBitSet(BitWidth, SA->getZExtValue()));
|
||||
return getMulExpr(getSCEV(BO->LHS), getSCEV(X), Flags);
|
||||
}
|
||||
break;
|
||||
|
||||
case Instruction::AShr: {
|
||||
// AShr X, C, where C is a constant.
|
||||
|
|
Loading…
Reference in New Issue