mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
For PR1097:
Enable complex addressing modes on 64-bit platforms involving two induction variables by keeping a size and scale in 64-bits not 32. Patch by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33011 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -893,7 +893,7 @@ unsigned LoopStrengthReduce::CheckForIVReuse(const SCEVHandle &Stride,
|
|||||||
if (unsigned(abs(SInt)) < Scale || (SInt % Scale) != 0)
|
if (unsigned(abs(SInt)) < Scale || (SInt % Scale) != 0)
|
||||||
continue;
|
continue;
|
||||||
std::map<SCEVHandle, IVsOfOneStride>::iterator SI =
|
std::map<SCEVHandle, IVsOfOneStride>::iterator SI =
|
||||||
IVsByStride.find(SCEVUnknown::getIntegerSCEV(SInt/Scale, Type::Int32Ty));
|
IVsByStride.find(SCEVUnknown::getIntegerSCEV(SInt/Scale, UIntPtrTy));
|
||||||
if (SI == IVsByStride.end())
|
if (SI == IVsByStride.end())
|
||||||
continue;
|
continue;
|
||||||
for (std::vector<IVExpr>::iterator II = SI->second.IVs.begin(),
|
for (std::vector<IVExpr>::iterator II = SI->second.IVs.begin(),
|
||||||
|
Reference in New Issue
Block a user