summaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/DeadStoreElimination.cpp
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2011-12-03 00:04:30 +0000
committerPete Cooper <peter_cooper@apple.com>2011-12-03 00:04:30 +0000
commitde2e27cc52a9e47e0261dda6dfb54a32eefa90a0 (patch)
tree9a32e49f6c5b1e49cf96db5ad96825c42c661cfa /lib/Transforms/Scalar/DeadStoreElimination.cpp
parent24fbf2bf161b20b13d0a218345bdcd092bdd56f8 (diff)
downloadllvm-de2e27cc52a9e47e0261dda6dfb54a32eefa90a0.tar.gz
llvm-de2e27cc52a9e47e0261dda6dfb54a32eefa90a0.tar.bz2
llvm-de2e27cc52a9e47e0261dda6dfb54a32eefa90a0.tar.xz
Fixed deadstoreelimination bug where negative indices were incorrectly causing the optimisation to occur
Turns out long long + unsigned long long is unsigned. Doh! Fixes http://llvm.org/bugs/show_bug.cgi?id=11455 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/DeadStoreElimination.cpp')
-rw-r--r--lib/Transforms/Scalar/DeadStoreElimination.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index f5688cb3b4..b9b1cc86c2 100644
--- a/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -416,7 +416,7 @@ static OverwriteResult isOverwrite(const AliasAnalysis::Location &Later,
// writes to addresses which will definitely be overwritten later
if (LaterOff > EarlierOff &&
LaterOff < int64_t(EarlierOff + Earlier.Size) &&
- LaterOff + Later.Size >= EarlierOff + Earlier.Size)
+ int64_t(LaterOff + Later.Size) >= int64_t(EarlierOff + Earlier.Size))
return OverwriteEnd;
// Otherwise, they don't completely overlap.