The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
yury c455e942e5 * Try to avoid spilling of an imm register if it contains a value loaded from an already spilled imm register. It likely leads to an endless loop and the register allocation fails.
This fixes the register allocation for i8086 when handling registers for very constrained instructions such as "mov ireg1,[ireg2+ireg3]". 
    Here ireg2 can be only BX or BP. So in most cases only BX is available. When ireg2 is spilled, its value must be loaded to BX only.
    Coloring of the ireg which holds the spilled value must be as early as possible to be able to assign BX to this ireg.
    This fix should also help register allocation for other constrained/old CPUs.

git-svn-id: trunk@45843 -
2020-07-24 14:08:18 +00:00
compiler * Try to avoid spilling of an imm register if it contains a value loaded from an already spilled imm register. It likely leads to an endless loop and the register allocation fails. 2020-07-24 14:08:18 +00:00
installer * regenerated Makefiles again 2020-07-11 09:51:28 +00:00
packages * Remove some compiler warnings 2020-07-24 11:04:35 +00:00
rtl Define __USE_LARGEFILE64 for sparc-linux, and adapt filed ffree type to that macro 2020-07-23 21:03:19 +00:00
tests F_GetLk/SetLk have different values for sparc/sparc64 2020-07-22 23:15:03 +00:00
utils * set GCCLibPath for all architectures on linux as proposed in #37158, resolves #37158 2020-07-15 20:43:08 +00:00
.gitattributes * set register size correctly for popcnt(<byte>), resolves #37400 2020-07-22 20:47:12 +00:00
.gitignore Add list of generated executable to svn:ignore 2020-07-21 14:08:24 +00:00
fpmake_add1.inc
fpmake_proc1.inc
fpmake.pp
Makefile * regenerated Makefiles again 2020-07-11 09:51:28 +00:00
Makefile.fpc * rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS 2020-07-10 21:52:24 +00:00