llvm-project/llvm/test/Transforms/SROA
Vang Thao 257251247a [SROA] Try harder to find a vector promotion viable type when rewriting
We are seeing significant performance loss when an alloca fails to get promoted
to register. I have observed that this is due to the common type found when
attempting to rewrite partition users being unviable for promotion. While if we
would have continue looking for a type, we would have found a subtype in the
original allocated type that would have enabled promotion. Thus first check if
the initial common type found is promotion viable and if not then continue
looking instead of stopping with the initial common type found.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D128073
2022-08-08 11:04:01 -07:00
..
2009-02-20-InstCombine-SROA.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
address-spaces.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
addrspacecast.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
alignment.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
alloca-address-space.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
assume.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
basictest.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
big-endian.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
dbg-addr-diamond.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
dbg-inline.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
dbg-single-piece.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
dead-inst.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
fca.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
ignore-droppable.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
invariant-group.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
irregular-type.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
lifetime-intrinsic.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
mem-par-metadata-sroa-cast.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
mem-par-metadata-sroa.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
non-capturing-call-readonly.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
non-integral-pointers.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
phi-and-select.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
phi-catchswitch.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
phi-gep.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
phi-with-duplicate-pred.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
pointer-offset-size.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
ppcf128-no-fold.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
pr26972.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
pr37267.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
preserve-nonnull.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
scalable-vectors.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
select-gep.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
select-load.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
slice-order-independence.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
slice-width.ll [Tests] Remove unnecessary bitcasts from opaque pointer tests (NFC) 2022-06-22 14:15:46 +02:00
sroa-common-type-fail-promotion.ll [SROA] Try harder to find a vector promotion viable type when rewriting 2022-08-08 11:04:01 -07:00
std-clamp.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
tbaa-struct.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
tbaa-struct2.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
tbaa-subload.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
vector-conversion.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
vector-lifetime-intrinsic.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
vector-promotion-different-size.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
vector-promotion.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00
vectors-of-pointers.ll [SROA] Migrate tests to opaque pointers (NFC) 2022-06-21 12:54:52 +02:00