InstCombine: Clean up weird code that talks about a modulus that's long gone.

This does the right thing unless the multiplication overflows, but the old code
didn't handle that case either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173276 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer 2013-01-23 17:16:22 +00:00
parent e807d1ea1e
commit 9381dd1ac9

View File

@ -758,12 +758,7 @@ Type *InstCombiner::FindElementAtOffset(Type *Ty, int64_t Offset,
FirstIdx = Offset/TySize;
Offset -= FirstIdx*TySize;
// Handle hosts where % returns negative instead of values [0..TySize).
if (Offset < 0) {
--FirstIdx;
Offset += TySize;
assert(Offset >= 0);
}
assert(Offset >= 0 && "Offset should never be negative!");
assert((uint64_t)Offset < (uint64_t)TySize && "Out of range offset");
}