@@ -1274,8 +1274,8 @@ static SCEVUse getUnsignedOverflowLimitForStep(SCEVUse Step,
1274
1274
namespace {
1275
1275
1276
1276
struct ExtendOpTraitsBase {
1277
- typedef SCEVUse (ScalarEvolution:: *GetExtendExprTy)(SCEVUse, Type *,
1278
- unsigned);
1277
+ typedef SCEVUse (ScalarEvolution::*GetExtendExprTy)(SCEVUse, Type *,
1278
+ unsigned);
1279
1279
};
1280
1280
1281
1281
// Used to make code generic over signed and unsigned overflow.
@@ -2309,8 +2309,8 @@ static bool CollectAddOperandsWithScales(DenseMap<SCEVUse, APInt> &M,
2309
2309
bool ScalarEvolution::willNotOverflow(Instruction::BinaryOps BinOp, bool Signed,
2310
2310
SCEVUse LHS, SCEVUse RHS,
2311
2311
const Instruction *CtxI) {
2312
- SCEVUse (ScalarEvolution:: *Operation)(SCEVUse, SCEVUse, SCEV::NoWrapFlags,
2313
- unsigned);
2312
+ SCEVUse (ScalarEvolution::*Operation)(SCEVUse, SCEVUse, SCEV::NoWrapFlags,
2313
+ unsigned);
2314
2314
switch (BinOp) {
2315
2315
default:
2316
2316
llvm_unreachable("Unsupported binary op");
@@ -2325,7 +2325,7 @@ bool ScalarEvolution::willNotOverflow(Instruction::BinaryOps BinOp, bool Signed,
2325
2325
break;
2326
2326
}
2327
2327
2328
- SCEVUse (ScalarEvolution:: *Extension)(SCEVUse, Type *, unsigned) =
2328
+ SCEVUse (ScalarEvolution::*Extension)(SCEVUse, Type *, unsigned) =
2329
2329
Signed ? &ScalarEvolution::getSignExtendExpr
2330
2330
: &ScalarEvolution::getZeroExtendExpr;
2331
2331
@@ -10615,8 +10615,8 @@ ScalarEvolution::getPredecessorWithUniqueSuccessorForBB(const BasicBlock *BB)
10615
10615
/// guarding a loop, it can be useful to be a little more general, since a
10616
10616
/// front-end may have replicated the controlling expression.
10617
10617
static bool HasSameValue(SCEVUse A, SCEVUse B) {
10618
- // Quick check to see if they are the same SCEV.
10619
- if (A == B) return true;
10618
+ // Quick check to see if they are the same SCEV, ignoring use-specific flags .
10619
+ if (A.getPointer() == B.getPointer() ) return true;
10620
10620
10621
10621
auto ComputesEqualValues = [](const Instruction *A, const Instruction *B) {
10622
10622
// Not all instructions that are "identical" compute the same value. For
0 commit comments