1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/test/Transforms/LoopIdiom
Roman Lebedev f757355f93 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.
2019-11-02 12:48:03 +03:00
..
AMDGPU
ARM
X86
basic-address-space.ll
basic.ll
crash.ll
ctpop-multiple-users-crash.ll
dbginfo-cost.ll
debug-line.ll
int_sideeffect.ll
lir-heurs-multi-block-loop.ll
memcpy-debugify-remarks.ll
memset_noidiom.ll
memset-debugify-remarks.ll
non-canonical-loop.ll
non-integral-pointers.ll
nontemporal_store.ll
pr28196.ll
pr33114.ll
scev-invalidation_topmostloop.ll
scev-invalidation.ll
struct_pattern.ll
struct-custom-dl.ll
struct.ll
unordered-atomic-memcpy-noarch.ll
unroll-custom-dl.ll
unroll.ll
unsafe.ll
unwind.ll