1. Revert BCmp Loop Idiom recognition transform (PR43870) (details)
Commit c4b757be026150eee32050e120026b03d92eb421 by lebedev.ri
Revert BCmp Loop Idiom recognition transform (PR43870)
As discussed in, 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.
The file was removedllvm/test/Transforms/LoopIdiom/bcmp-negative-tests.ll
The file was removedllvm/test/Transforms/LoopIdiom/bcmp-widening.ll
The file was removedllvm/test/Transforms/LoopIdiom/bcmp-basic.ll
The file was removedllvm/test/Transforms/LoopIdiom/bcmp-debugify-remarks.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp