ryujinx-mirror/ARMeilleure
FICTURE7 64088f04e3
Fix LiveInterval.Split (#1660)
Before when splitting intervals, the end of the range would be included
in the split check, this can produce empty ranges in the child split.

This in turn can affect spilling decisions since the child split will
have a different start position and this empty range will get a register
and move to the active set for a brief moment.

For example:

  A = [153, 172[; [1899, 1916[; [1991, 2010[; [2397, 2414[; ...

  Split(A, 1916)

  A0 = [153, 172[; [1899, 1916[
  A1 = [1916, 1916[; [1991, 2010[; [2397, 2414[; ...
2020-11-04 23:09:45 -03:00
..
CodeGen Fix LiveInterval.Split (#1660) 2020-11-04 23:09:45 -03:00
Common CodeGen Optimisations (LSRA and Translator) (#978) 2020-03-18 22:44:32 +11:00
Decoders Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
Diagnostics Implement block placement (#1549) 2020-09-19 20:00:24 -03:00
Instructions Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
IntermediateRepresentation Implement block placement (#1549) 2020-09-19 20:00:24 -03:00
Memory Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
State Amadeus: Final Act (#1481) 2020-08-17 22:49:37 -03:00
Translation Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
ARMeilleure.csproj Remove the Ryujinx.Debugger project (#1506) 2020-08-30 19:06:05 +02:00
Optimizations.cs Remove old, unused CPU optimization (#1586) 2020-09-30 16:16:34 -03:00
Statistics.cs Suppress warnings from fields never used or never assigned (CS0169 and CS0649) (#919) 2020-04-21 07:59:59 +10:00