diff options
| author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-11-02 12:39:02 +0300 |
|---|---|---|
| committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-11-02 12:48:03 +0300 |
| commit | c4b757be026150eee32050e120026b03d92eb421 (patch) | |
| tree | 84ee899f2e13eb2da7c9df968c571af48dfe70fd /llvm/utils/git-svn/git-svnup | |
| parent | 79d8996d73f3bb5709a1eca206a848543340633d (diff) | |
| download | bcm5719-llvm-c4b757be026150eee32050e120026b03d92eb421.tar.gz bcm5719-llvm-c4b757be026150eee32050e120026b03d92eb421.zip | |
Revert BCmp Loop Idiom recognition transform (PR43870)
As discussed in https://bugs.llvm.org/show_bug.cgi?id=43870,
this transform is missing a crucial legality check:
the old (non-countable) loop would early-return upon first mismatch,
but there is no such guarantee for bcmp/memcmp.
We'd need to ensure that [PtrA, PtrA+NBytes) and [PtrB, PtrB+NBytes)
are fully dereferenceable memory regions. But that would limit
the transform to constant loop trip counts and would further
cripple it because dereferenceability analysis is *very* partial.
Furthermore, even if all that is done, every single test
would need to be rewritten from scratch.
So let's just give up.
Diffstat (limited to 'llvm/utils/git-svn/git-svnup')
0 files changed, 0 insertions, 0 deletions

