[all-commits] [llvm/llvm-project] e94125: [DSE] Add support for not aligned begin/end
ebrevnov via All-commits
all-commits at lists.llvm.org
Wed Mar 3 21:24:48 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e94125f054310ea4a6559f9b2fa3f1896c1ba48a
https://github.com/llvm/llvm-project/commit/e94125f054310ea4a6559f9b2fa3f1896c1ba48a
Author: Evgeniy Brevnov <ybrevnov at azul.com>
Date: 2021-03-04 (Thu, 04 Mar 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreBegin.ll
M llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreEnd.ll
M llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/OverwriteStoreBegin.ll
Log Message:
-----------
[DSE] Add support for not aligned begin/end
This is an attempt to improve handling of partial overlaps in case of unaligned begin\end.
Existing implementation just bails out if it encounters such cases. Even when it doesn't I believe existing code checking alignment constraints is not quite correct. It tries to ensure alignment of the "later" start/end offset while should be preserving relative alignment between earlier and later start/end.
The idea behind the change is simple. When start/end is not aligned as we wish instead of bailing out let's adjust it as necessary to get desired alignment.
I'll update with performance results as measured by the test-suite...it's still running...
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D93530
More information about the All-commits
mailing list