1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-21 18:22:53 +01:00
llvm-mirror/test
Fraser Cormack 5e5115bbd0 [MemCpyOpt] Fix a variety of scalable-type crashes
This patch fixes a variety of crashes resulting from the `MemCpyOptPass`
casting `TypeSize` to a constant integer, whether implicitly or
explicitly.

Since the `MemsetRanges` requires a constant size to work, all but one
of the fixes in this patch simply involve skipping the various
optimizations for scalable types as cleanly as possible.

The optimization of `byval` parameters, however, has been updated to
work on scalable types in theory. In practice, this optimization is only
valid when the length of the `memcpy` is known to be larger than the
scalable type size, which is currently never the case. This could
perhaps be done in the future using the `vscale_range` attribute.

Some implicit casts have been left as they were, under the knowledge
they are only called on aggregate types. These should never be
scalably-sized.

Reviewed By: nikic, tra

Differential Revision: https://reviews.llvm.org/D109329

(cherry-picked from commit 7fb66d4)
2021-09-09 16:21:27 -07:00
..
Analysis [SCEV] Fix applyLoopGuards() with range check idiom (PR51760) 2021-09-07 22:34:39 -07:00
Assembler [AsmParser] Unify parsing of attributes 2021-07-15 17:51:11 +02:00
Bindings
Bitcode [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
BugPoint
CodeGen Workaround incorrect types when lowering fixed length gather/scatter 2021-09-09 09:05:58 -07:00
DebugInfo Revert sharing subprograms across CUs 2021-08-23 11:18:57 -07:00
Demangle Demangle: correct swift_async demangling for Microsoft scheme 2021-07-14 11:43:44 -07:00
Examples
ExecutionEngine [Orc] Enable debug object tests only on x86_64 hosts 2021-09-02 14:16:41 -07:00
Feature
FileCheck
Instrumentation [hwasan] Use stack safety analysis. 2021-07-22 16:20:27 -07:00
Integer
JitListener
Linker [Linker] Support weak symbols in nodeduplicate COMDAT group 2021-09-02 14:15:28 -07:00
LTO [LTO] Add SelectionKind to IRSymtab and use it in ld.lld/LLVMgold 2021-07-20 13:22:00 -07:00
MachineVerifier [MachineVerifier] Make INSERT_SUBREG diagnostic respect operand 2 subregs 2021-07-21 08:47:17 -07:00
MC [AArch64][SME] Fix imm bug in mov vector to tile aliases 2021-09-08 20:47:08 -07:00
Object [llvm-readobj] Display multiple function names for stack size entries 2021-07-26 14:49:53 +01:00
ObjectYAML [yaml2obj][MachO] Rename PayloadString to Content 2021-07-26 09:04:51 -07:00
Other [NewPM] Add missing LTO ArgPromotion pass 2021-09-01 17:37:57 -07:00
SafepointIRVerifier
Support [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00
SymbolRewriter [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
TableGen
ThinLTO/X86 ThinLTO: Fix inline assembly references to static functions with CFI 2021-08-24 18:49:13 -07:00
tools [llvm-objdump] Fix 'llvm-objdump -dr' for executables with relocations 2021-09-08 08:45:39 -07:00
Transforms [MemCpyOpt] Fix a variety of scalable-type crashes 2021-09-09 16:21:27 -07:00
Unit
Verifier [Verifier] Check byval/etc type when comparing ABI attributes 2021-07-20 20:19:47 +02:00
YAMLParser
.clang-format
CMakeLists.txt [test] Add llvm-stress to LLVM_TEST_DEPENDS and lit substitutions 2021-07-22 09:37:01 -07:00
lit.cfg.py [test] Add llvm-stress to LLVM_TEST_DEPENDS and lit substitutions 2021-07-22 09:37:01 -07:00
lit.site.cfg.py.in
TestRunner.sh