diff options
author | Jun Bum Lim <junbuml@codeaurora.org> | 2016-07-27 17:25:20 +0000 |
---|---|---|
committer | Jun Bum Lim <junbuml@codeaurora.org> | 2016-07-27 17:25:20 +0000 |
commit | a033139cd4b77c0778c1c94d40db52c335653813 (patch) | |
tree | 16663f8d1e239558d93f736d72f81e8e78473a52 | |
parent | 6e70f4e1714434b7150ba28e8a8e88f51e03a582 (diff) | |
download | bcm5719-llvm-a033139cd4b77c0778c1c94d40db52c335653813.tar.gz bcm5719-llvm-a033139cd4b77c0778c1c94d40db52c335653813.zip |
[DSE] Fix bug in updating MadeChange flag
Summary: The MadeChange flag should be ORed to keep the previous result.
Reviewers: mcrosier
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D22873
llvm-svn: 276894
-rw-r--r-- | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp index 463fc0456d3..c43dd818e8a 100644 --- a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp +++ b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp @@ -933,7 +933,7 @@ static bool removePartiallyOverlappedStores(AliasAnalysis *AA, int64_t EarlierSize = int64_t(Loc.Size); GetPointerBaseWithConstantOffset(Ptr, EarlierStart, DL); OverlapIntervalsTy &IntervalMap = OI.second; - Changed = + Changed |= tryToShortenEnd(EarlierWrite, IntervalMap, EarlierStart, EarlierSize); if (IntervalMap.empty()) continue; @@ -1079,7 +1079,7 @@ static bool eliminateDeadStores(BasicBlock &BB, AliasAnalysis *AA, int64_t EarlierSize = DepLoc.Size; int64_t LaterSize = Loc.Size; bool IsOverwriteEnd = (OR == OverwriteEnd); - MadeChange = tryToShorten(DepWrite, DepWriteOffset, EarlierSize, + MadeChange |= tryToShorten(DepWrite, DepWriteOffset, EarlierSize, InstWriteOffset, LaterSize, IsOverwriteEnd); } } |