mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-08 03:30:22 +00:00
Minor cleanup. Use dyn_cast, not isa/cast pairs. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60623 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c3ccc1aaaf
commit
4a3136444e
@ -2911,18 +2911,18 @@ bool ScalarEvolutionsImpl::potentialInfiniteLoop(SCEV *Stride, SCEV *RHS,
|
||||
bool isSigned, bool trueWhenEqual) {
|
||||
// Return true when the distance from RHS to maxint > Stride.
|
||||
|
||||
if (!isa<SCEVConstant>(Stride))
|
||||
SCEVConstant *SC = dyn_cast<SCEVConstant>(Stride);
|
||||
if (!SC)
|
||||
return true;
|
||||
SCEVConstant *SC = cast<SCEVConstant>(Stride);
|
||||
|
||||
if (SC->getValue()->isZero())
|
||||
return true;
|
||||
if (!trueWhenEqual && SC->getValue()->isOne())
|
||||
return false;
|
||||
|
||||
if (!isa<SCEVConstant>(RHS))
|
||||
SCEVConstant *R = dyn_cast<SCEVConstant>(RHS);
|
||||
if (!R)
|
||||
return true;
|
||||
SCEVConstant *R = cast<SCEVConstant>(RHS);
|
||||
|
||||
if (isSigned)
|
||||
return true; // XXX: because we don't have an sdiv scev.
|
||||
@ -2983,7 +2983,7 @@ HowManyLessThans(SCEV *LHS, SCEV *RHS, const Loop *L,
|
||||
// loop by one iteration.
|
||||
//
|
||||
// The loop won't actually run (m-n)/s times because the loop iterations
|
||||
// won't divide evenly. For example, if you have {2,+,5} u< 10 the
|
||||
// might not divide cleanly. For example, if you have {2,+,5} u< 10 the
|
||||
// division would equal one, but the loop runs twice putting the
|
||||
// induction variable at 12.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user