1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib
Serguei Katkov c9a1c9ca92 [RegAlloc] Fix "ran out of regs" with uses in statepoint
Statepoint instruction is known to have a variable and big number of operands.
It is possible that Register Allocator will split live intervals in the way that all
physical registers are occupied by "zero-length" live intervals which are marked
as not-spillable.
While intervals are marked as not-spillable in the moment of creation when they are
really zero-length it is possible that in future as part of re-materialization there will
need for physical register between def and use of such tiny interval (the use is not
related to this interval at all).
As all physical registers are assigned to not-spillable intervals there is not avaialbe
registers and RA reports an error.

The idea of the fix is avoid marking tiny live intervals where there is a use in statepoint
instruction in var args section. Such interval may be perfectly spilled and folded to
operand of statepoint.

Reviewers: reames, dantrushin, qcolombet, dsanders, dmgreen
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D98766
2021-03-24 10:25:34 +07:00
..
Analysis [InstSimplify] Fix unused variable warning (NFC) 2021-03-24 09:56:36 +08:00
AsmParser [IR] Add vscale_range IR function attribute 2021-03-22 12:05:06 +00:00
BinaryFormat [WebAssembly] Add new relocation for location relative data 2021-03-08 11:34:10 -08:00
Bitcode [IR] Add vscale_range IR function attribute 2021-03-22 12:05:06 +00:00
Bitstream
CodeGen [RegAlloc] Fix "ran out of regs" with uses in statepoint 2021-03-24 10:25:34 +07:00
DebugInfo [lld-link] emit an error when writing a PDB > 4 GiB 2021-03-17 15:15:08 -04:00
Demangle [Demangle] Support demangling Swift calling convention in MS demangler. 2021-01-27 13:24:54 -08:00
DWARFLinker [llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule 2021-02-27 10:14:39 +03:00
ExecutionEngine Revert "[Orc] Allow OrcGenericABI variant of LazyCallThroughManager" 2021-03-23 15:23:33 +01:00
Extensions
FileCheck [FileCheck] Fix redundant diagnostics due to numeric errors 2021-03-17 19:25:41 -04:00
Frontend [openacc][openmp] Reduce number of generated file and prefer inclusion of .inc 2021-03-23 09:16:53 -04:00
Fuzzer
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
InterfaceStub [elfabi] Fix a bug when .dynsym contains no non-local symbol 2021-02-19 11:36:53 -08:00
IR [IR][SVE] Add new llvm.experimental.stepvector intrinsic 2021-03-23 10:43:35 +00:00
IRReader [NFC] Formatting changes 2021-03-23 07:17:54 -04:00
LineEditor
Linker Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
LTO [LTO][MC] Discard non-prevailing defined symbols in module-level assembly 2021-03-18 15:33:42 -07:00
MC [LTO][MC] Discard non-prevailing defined symbols in module-level assembly 2021-03-18 15:33:42 -07:00
MCA [MCA] Improved handling of negative read-advance cycles. 2021-03-23 14:47:23 +00:00
Object [XCOFF][llvm-dwarfdump] llvm-dwarfdump support for XCOFF 2021-03-17 21:21:51 -04:00
ObjectYAML [ObjectYAML] Handle Hexagon V68 2021-03-17 21:43:35 -05:00
Option [clang][cli] NFC: Remove ArgList infrastructure for recording queries 2021-02-25 13:53:24 +01:00
Passes Revert "A new option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash." 2021-03-23 10:09:27 -04:00
ProfileData [Coverage] Load records immediately 2021-03-23 16:25:20 -07:00
Remarks Add intrinsics_gen as a dependency of libRemarks 2021-03-08 14:17:27 -08:00
Support [llvm-objcopy][Support] move writeToOutput helper function to Support. 2021-03-22 15:41:10 +03:00
TableGen [NFC] Formatting changes 2021-03-23 07:17:54 -04:00
Target [X86] Bale out of X86FastISel::X86SelectCmp for vectors. 2021-03-23 20:16:04 -07:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI [lld-macho] Change loadReexport to handle the case where a TAPI re-exports to reference documents nested within other TBD. 2021-03-02 12:14:31 -05:00
ToolDrivers llvm-lib: Pull error printing code out of two functions 2021-01-26 19:13:30 -05:00
Transforms [Analysis]Add getPointersDiff function to improve compile time. 2021-03-23 14:25:36 -07:00
WindowsManifest
XRay
CMakeLists.txt