mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Some cleanup for r209568.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209634 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1322e998c1
commit
90e79a50bb
@ -1208,11 +1208,10 @@ const SCEV *ScalarEvolution::getSignExtendExpr(const SCEV *Op,
|
|||||||
auto SMul = dyn_cast<SCEVMulExpr>(SA->getOperand(1));
|
auto SMul = dyn_cast<SCEVMulExpr>(SA->getOperand(1));
|
||||||
if (SMul && SC1) {
|
if (SMul && SC1) {
|
||||||
if (auto SC2 = dyn_cast<SCEVConstant>(SMul->getOperand(0))) {
|
if (auto SC2 = dyn_cast<SCEVConstant>(SMul->getOperand(0))) {
|
||||||
APInt C1 = SC1->getValue()->getValue();
|
const APInt &C1 = SC1->getValue()->getValue();
|
||||||
APInt C2 = SC2->getValue()->getValue();
|
const APInt &C2 = SC2->getValue()->getValue();
|
||||||
APInt CDiff = C2 - C1;
|
|
||||||
if (C1.isStrictlyPositive() && C2.isStrictlyPositive() &&
|
if (C1.isStrictlyPositive() && C2.isStrictlyPositive() &&
|
||||||
CDiff.isStrictlyPositive() && C2.isPowerOf2())
|
C2.ugt(C1) && C2.isPowerOf2())
|
||||||
return getAddExpr(getSignExtendExpr(SC1, Ty),
|
return getAddExpr(getSignExtendExpr(SC1, Ty),
|
||||||
getSignExtendExpr(SMul, Ty));
|
getSignExtendExpr(SMul, Ty));
|
||||||
}
|
}
|
||||||
@ -1316,11 +1315,10 @@ const SCEV *ScalarEvolution::getSignExtendExpr(const SCEV *Op,
|
|||||||
auto SC1 = dyn_cast<SCEVConstant>(Start);
|
auto SC1 = dyn_cast<SCEVConstant>(Start);
|
||||||
auto SC2 = dyn_cast<SCEVConstant>(Step);
|
auto SC2 = dyn_cast<SCEVConstant>(Step);
|
||||||
if (SC1 && SC2) {
|
if (SC1 && SC2) {
|
||||||
APInt C1 = SC1->getValue()->getValue();
|
const APInt &C1 = SC1->getValue()->getValue();
|
||||||
APInt C2 = SC2->getValue()->getValue();
|
const APInt &C2 = SC2->getValue()->getValue();
|
||||||
APInt CDiff = C2 - C1;
|
if (C1.isStrictlyPositive() && C2.isStrictlyPositive() && C2.ugt(C1) &&
|
||||||
if (C1.isStrictlyPositive() && C2.isStrictlyPositive() &&
|
C2.isPowerOf2()) {
|
||||||
CDiff.isStrictlyPositive() && C2.isPowerOf2()) {
|
|
||||||
Start = getSignExtendExpr(Start, Ty);
|
Start = getSignExtendExpr(Start, Ty);
|
||||||
const SCEV *NewAR = getAddRecExpr(getConstant(AR->getType(), 0), Step,
|
const SCEV *NewAR = getAddRecExpr(getConstant(AR->getType(), 0), Step,
|
||||||
L, AR->getNoWrapFlags());
|
L, AR->getNoWrapFlags());
|
||||||
|
Loading…
Reference in New Issue
Block a user