yury
6edbc9ed7e
* tinyheap: Early check for very big requested mem sizes in order to prevent overflows and properly report the out of memory error.
...
git-svn-id: trunk@45844 -
2020-07-24 16:02:13 +00:00
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
michael
34ada3906b
* Remove some compiler warnings
...
git-svn-id: trunk@45842 -
2020-07-24 11:04:35 +00:00
michael
aa724ae05a
* Add joIgnoreDuplicates
...
git-svn-id: trunk@45841 -
2020-07-24 11:04:15 +00:00
michael
3d333a1d17
* Add joIgnoreDuplicates
...
git-svn-id: trunk@45840 -
2020-07-24 11:03:25 +00:00
michael
e1c1bd3d60
* Prevent warning
...
git-svn-id: trunk@45839 -
2020-07-24 11:03:00 +00:00
pierre
06b1e65864
+ Add a new parameter to GetCompilerInfo function,
...
called EmptyIfStdErr, which resets the returned string to
an empty string if the call generated output to stderr stream.
* Adapt calls to GetCompilerInfo to change above.
+ Add support for other CPUs for linux OS target.
git-svn-id: trunk@45838 -
2020-07-23 21:34:24 +00:00
pierre
2e6bba76bf
Define __USE_LARGEFILE64 for sparc-linux, and adapt filed ffree type to that macro
...
git-svn-id: trunk@45837 -
2020-07-23 21:03:19 +00:00
pierre
1d5c714ff2
Fix error in assembly startup code for sparc linux
...
git-svn-id: trunk@45836 -
2020-07-23 20:59:03 +00:00
florian
e26e824700
+ more helper routine to check for CPU features added
...
git-svn-id: trunk@45835 -
2020-07-23 20:57:45 +00:00
yury
a258774ba9
* To check the size of a register(s) corresponding to a variable it is needed to use localloc.size instead of def_cgsize(vardef).
...
git-svn-id: trunk@45834 -
2020-07-23 13:10:50 +00:00
yury
15f411a332
* Improved r45832.
...
git-svn-id: trunk@45833 -
2020-07-23 12:52:17 +00:00
yury
80facfa0bf
* Fixed indentations of the interference graph.
...
* Added register names to the interference graph.
git-svn-id: trunk@45832 -
2020-07-23 12:45:40 +00:00
Károly Balogh
d7122c6338
z80: preserve system ID and linker ID for the Amstrad CPC
...
git-svn-id: trunk@45831 -
2020-07-23 11:57:20 +00:00
Mattias Gaertner
c1fe90524c
pas2js: fixed crash on class function
...
git-svn-id: trunk@45830 -
2020-07-23 11:04:47 +00:00
pierre
9f60f5093d
F_GetLk/SetLk have different values for sparc/sparc64
...
git-svn-id: trunk@45829 -
2020-07-22 23:15:03 +00:00
florian
ed158f1e52
* set register size correctly for popcnt(<byte>), resolves #37400
...
git-svn-id: trunk@45828 -
2020-07-22 20:47:12 +00:00
florian
c01db96df4
+ functions to check for Popcnt support
...
git-svn-id: trunk@45827 -
2020-07-22 20:47:11 +00:00
yury
6478a727d7
* Fixed the peephole optimization of conditional movs for mips.
...
git-svn-id: trunk@45826 -
2020-07-22 11:40:21 +00:00
pierre
219db914e3
Revert commit #45737 , as it introduces problelms for other test cases
...
git-svn-id: trunk@45825 -
2020-07-22 09:36:13 +00:00
florian
5da913de0e
* float operations can have an exception as a side effect, resolves #37398
...
git-svn-id: trunk@45824 -
2020-07-21 20:09:39 +00:00
Jonas Maebe
dd6e6eb26a
* disable tail recursion optimisation if there is a copy-back parameter
...
* handle fparainit in tail recursion optimisation (mantis #37397 )
git-svn-id: trunk@45823 -
2020-07-21 17:57:50 +00:00
Jonas Maebe
924ffe6538
* removed initialisation of unused fparacopyback from tcallparanode.copy_value_by_ref_para
...
git-svn-id: trunk@45822 -
2020-07-21 17:57:45 +00:00
pierre
adf064cbb4
New: rtl/inc/genmathh.inc source file, to provide a unique position
...
for the interface definition of float64 and float32 records,
available to all systems if FPUNONE is not defined.
rtl/inc/genmath.inc: Remove float64/float32, as they are now in rtl/inc/genmathh.inc
rtl/inc/softfpu.pp: Use provided definitions of float32 and float64
if available (by checking presence of FPC_SYSTEM_HAS_floatXX macro)
rtl/inc/systemh.inc: include genmathh.inc if FPUNONE is not defined.
rtl/java/jsystemh_types.inc: Likewise.
git-svn-id: trunk@45821 -
2020-07-21 14:24:14 +00:00
pierre
2c3792a1ae
Add list of generated executable to svn:ignore
...
git-svn-id: trunk@45820 -
2020-07-21 14:08:24 +00:00
pierre
17685fe9ca
Update svn:ignore porperties
...
git-svn-id: trunk@45819 -
2020-07-21 12:43:50 +00:00
pierre
9d72e1fa8f
Add bin subdirectories to svn:ignore property
...
git-svn-id: trunk@45818 -
2020-07-21 12:17:40 +00:00
pierre
72654864ff
Add missing CPUs for linux libgcc directory retrieval
...
git-svn-id: trunk@45817 -
2020-07-21 12:13:36 +00:00
pierre
57b8f28574
Avoid overflow errors on z80 CPU by changing local variable type from aint to tcgint
...
git-svn-id: trunk@45816 -
2020-07-21 05:23:36 +00:00
pierre
667a010357
Avoid wrong overflow error when using -Criot options
...
git-svn-id: trunk@45815 -
2020-07-21 05:22:26 +00:00
florian
13cb57b2c3
+ Aarch64: trgcpu.get_spill_subreg: return MM sub register correctly, resolves #37393
...
git-svn-id: trunk@45814 -
2020-07-20 21:07:09 +00:00
florian
14bc6674a6
* revert part of r45810 which was accidently committed
...
git-svn-id: trunk@45813 -
2020-07-20 20:21:44 +00:00
pierre
0c6998bb11
Try to fix mipsel-android by making sure P does not point to a freed instruction
...
git-svn-id: trunk@45812 -
2020-07-19 21:21:18 +00:00
florian
09125e834f
+ patch by J. Gareth Moreton: SHL-centric peephole optimisations, resolves #37389
...
git-svn-id: trunk@45811 -
2020-07-19 20:50:13 +00:00
florian
d6d92e3666
* revert part of r44879: flock must use kernel_off_t: off_t breaks e.g. i386
...
git-svn-id: trunk@45810 -
2020-07-19 19:54:22 +00:00
Jonas Maebe
64da9c4ab2
* add a patch level to the default version numbers so llvm doesn't complain
...
* fixed compiler variable for default macOS 11.0
git-svn-id: trunk@45809 -
2020-07-19 14:30:41 +00:00
Jonas Maebe
edb660ed58
* made TAArch64ClangGASAssembler inherit from TAArch64Assembler and removed custom
...
$TARGET handling (handled by the general triple handling now)
git-svn-id: trunk@45808 -
2020-07-19 14:30:38 +00:00
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
Jonas Maebe
6fe8d7bd14
* don't crash if no info is registered for the selected external assembler
...
git-svn-id: trunk@45806 -
2020-07-19 14:30:31 +00:00
michael
b7bd9f3325
* Add TerminatedSet (delphi compatibility, bug ID #37388 )
...
git-svn-id: trunk@45805 -
2020-07-18 22:35:36 +00:00
florian
043c3df292
* properly handle boolean64 xor boolean64 on i386
...
git-svn-id: trunk@45804 -
2020-07-18 18:32:17 +00:00
Jonas Maebe
3fde3f23ce
* moved ios test object files to ios directory
...
+ added darwin/aarch64 test object files
git-svn-id: trunk@45803 -
2020-07-18 13:44:03 +00:00
Károly Balogh
09f0a3dd63
powerpc: also drop DCBZ usage on AmigaOS4, as it runs on hardware with other than the assumed cacheline size
...
git-svn-id: trunk@45802 -
2020-07-17 21:28:49 +00:00
Jonas Maebe
59331c3d3c
* enable putting records that contain a single field into records on all
...
targets (patch by J. Gareth Moreton, mantis #37343 )
git-svn-id: trunk@45801 -
2020-07-17 20:57:24 +00:00
Jonas Maebe
3e9e0a0f7d
* completely disable records containing float fields in registers again, as
...
the code generator does not support subsetreg loads of floats
git-svn-id: trunk@45800 -
2020-07-17 20:57:20 +00:00
florian
db250b04e0
* generate soft float code for arm vfp units which have no double operation support
...
git-svn-id: trunk@45799 -
2020-07-17 16:45:52 +00:00
pierre
bb6d4929d8
* Handle R_SUBMMWHOLE in reg_cgsize for R_MMREGISTER type
...
* Disable range and overflow checking inside is_continuous_mask function.
git-svn-id: trunk@45798 -
2020-07-17 15:27:27 +00:00
florian
a57f3ba396
* patch by Sergey Larin to handle Native(U)Int conversions from/to variants, resolves #37339
...
git-svn-id: trunk@45797 -
2020-07-16 20:44:30 +00:00
michael
6ae07f6046
* Fix bug ID #37368 : incorrect chaining of loading versions >1.2
...
git-svn-id: trunk@45796 -
2020-07-16 07:48:25 +00:00
michael
0c8103b3a1
* Fix bug ID #37367
...
git-svn-id: trunk@45795 -
2020-07-16 07:43:36 +00:00