summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2019-11-02 12:39:02 +0300
committerRoman Lebedev <lebedev.ri@gmail.com>2019-11-02 12:48:03 +0300
commitc4b757be026150eee32050e120026b03d92eb421 (patch)
tree84ee899f2e13eb2da7c9df968c571af48dfe70fd /llvm/lib/Target/X86/X86ISelLowering.cpp
parent79d8996d73f3bb5709a1eca206a848543340633d (diff)
downloadbcm5719-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/lib/Target/X86/X86ISelLowering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud