1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib
David Sherwood c46fc6adbe [SVE] Fall back on DAG ISel at -O0 when encountering scalable types
At the moment we use Global ISel by default at -O0, however it is
currently not capable of dealing with scalable vectors for two
reasons:

1. The register banks know nothing about SVE registers.
2. The LLT (Low Level Type) class knows nothing about scalable
   vectors.

For now, the easiest way to avoid users hitting issues when using
the SVE ACLE is to fall back on normal DAG ISel when encountering
instructions that operate on scalable vector types.

I've added a couple of RUN lines to existing SVE tests to ensure
we can compile at -O0. I've also added some new tests to

  CodeGen/AArch64/GlobalISel/arm64-fallback.ll

that demonstrate we correctly fallback to DAG ISel at -O0 when
lowering formal arguments or translating instructions that involve
scalable vector types.

Differential Revision: https://reviews.llvm.org/D81557
2020-06-19 10:57:00 +01:00
..
Analysis [StackSafety] Add StackLifetime::isAliveAfter 2020-06-19 02:32:17 -07:00
AsmParser [LLParser] Delete temp CallInst when error occurs 2020-06-16 11:41:25 +08:00
BinaryFormat [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs 2020-06-15 10:07:42 -07:00
Bitcode [strictfp] Replace dangling strictfp attrs with nobuiltin 2020-06-15 10:05:35 -04:00
Bitstream
CodeGen [SVE] Fall back on DAG ISel at -O0 when encountering scalable types 2020-06-19 10:57:00 +01:00
DebugInfo [CodeView] Add TypeCollection::replaceType to replace type records post-merging 2020-06-18 09:17:14 -04:00
Demangle
DWARFLinker
ExecutionEngine [RuntimeDyld] Add dependence on Core. 2020-06-15 11:14:27 -07:00
Extensions
Frontend
Fuzzer
FuzzMutate [SVE] Eliminate calls to default-false VectorType::get() from FuzzMutate 2020-06-09 13:57:36 -07:00
IR [AssumeBundles] add cannonicalisation to the assume builder 2020-06-19 10:32:26 +02:00
IRReader
LineEditor
Linker
LTO [StackSafety] Run ThinLTO 2020-06-12 18:11:29 -07:00
MC [MC] Pass the symbol rather than its name to onSymbolStart() 2020-06-19 09:30:12 +05:30
MCA
Object [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs 2020-06-15 10:07:42 -07:00
ObjectYAML [DWARFYAML][debug_abbrev] Make the abbreviation code optional. 2020-06-18 13:02:54 +08:00
Option
Passes [StackSafety] Add "Must Live" logic 2020-06-18 16:53:37 -07:00
ProfileData [llvm-cov gcov] Support clang<11 fake 4.2 format 2020-06-17 10:17:15 -07:00
Remarks YAMLRemarkParser.cpp - remove duplicate RemarkParser.h include. NFC. 2020-06-08 13:59:05 +01:00
Support [Clang] Move clang::Job::printArg to llvm::sys::printArg. NFCI. 2020-06-18 09:17:13 -04:00
TableGen Fix ubsan error in tblgen with signed left shift 2020-06-16 11:15:09 -07:00
Target [SVE] Fall back on DAG ISel at -O0 when encountering scalable types 2020-06-19 10:57:00 +01:00
Testing
TextAPI [llvm][llvm-nm] add TextAPI/MachO support 2020-06-11 18:54:16 -07:00
ToolDrivers
Transforms [SCCP] Turn sext into zext for non-negative ranges. 2020-06-19 10:17:55 +01:00
WindowsManifest
XRay
CMakeLists.txt
LLVMBuild.txt