Commit Graph

25665 Commits

Author SHA1 Message Date
J. Gareth "Curious Kit" Moreton
be448e29f6 Fixed bug in new TEST optimisation where a FLAGS check always returned "in use" 2021-12-15 20:14:26 +00:00
J. Gareth "Curious Kit" Moreton
42c429bf45 New optimisation that merges small constants written to the stack 2021-12-15 19:47:50 +00:00
J. Gareth "Curious Kit" Moreton
7a15312b54 Safety checks on TEST removals and better FLAG tracking 2021-12-13 16:11:33 +00:00
Karoly Balogh
06da0b3db6 * fix m68k IE after e9acd759, patch by Yuriy Sydorov 2021-12-13 16:14:59 +01:00
J. Gareth "Kit" Moreton
f60523a3b9 x86: New TEST optimisations 2021-12-12 21:40:42 +00:00
Yuriy Sydorov
e9acd759a4 * Fixed random AVs when targeting the AVX FPU. 2021-12-12 18:19:35 +02:00
Yuriy Sydorov
7b2cd0bcdc * Prevent a range check error in case of big unsigned values. 2021-12-12 17:55:46 +02:00
Yuriy Sydorov
59fca3a01d * Increased the bounds of TBooleanArray to prevent a range check error while linking Lazarus. 2021-12-12 15:50:12 +02:00
florian
5921fa9a62 + store references to global variables in registers if benefical (currrently used for aarch64 only) 2021-12-11 22:46:27 +01:00
J. Gareth "Curious Kit" Moreton
72661fd5c1 Added missing MOVSXD check to PostPeepHoleOptsCpu 2021-12-09 02:15:55 +00:00
Florian Klämpfl
49af134ba7 * compilation of x86_64-win64 fixed 2021-12-04 16:21:29 +01:00
florian
0b3fb55c6a * generate no exit code at all on x86-64 if the subroutine is compiled with po_noreturn 2021-12-03 23:26:28 +01:00
J. Gareth "Curious Kit" Moreton
0f1c4b4db8 Fixed Unreachable code warning when building on a 32-bit platform with DEBUG_NODE_XML 2021-12-02 20:32:05 +00:00
florian
89aeedac1e * fixes excluding of cpu capabilities 2021-12-01 22:48:19 +01:00
florian
60623f39a1 + - can be used to remove options from a cpu capability switch 2021-11-30 22:37:47 +01:00
ccrause
793c157a9c Always call DoExec to generate linker scripts. Even if cs_link_nolink is set, the ldgen scipt needs to be called in the generated ppas script. 2021-11-29 22:42:49 +01:00
ccrause
b0c0309cc1 Add output path to kconfig source file location parameters. 2021-11-29 22:42:49 +01:00
ccrause
f66dd54bc2 Extract linker script generation as separate method. Check if esp linker scripts can be found in library paths, if not then generate scritps. 2021-11-29 22:42:49 +01:00
ccrause
ab00794343 Keep esp32 and esp8266 version specific tweaks separate. 2021-11-29 22:42:49 +01:00
ccrause
a58567004b Remove unused $OUTPUT substtution and empty check of outputexedir. 2021-11-29 22:42:49 +01:00
ccrause
655a5f526c Place IDF related files in executable output folder. 2021-11-29 22:42:49 +01:00
ccrause
e86d3af7e0 The linklib list for esp-idf v4.2 is also needed for v4.3 2021-11-29 22:42:49 +01:00
florian
5db20610dd * correct idf version check 2021-11-29 22:42:49 +01:00
florian
802f24dfbd * force result to be set 2021-11-29 22:42:49 +01:00
florian
54f2308d2a + draft for esp-idf version specific rtl unit which contains the necessery linklib statements 2021-11-29 22:42:49 +01:00
florian
dc161e519f * inputfilepath might not be empty 2021-11-29 22:42:49 +01:00
ccrause
5289aab4f2 Add -WP option so that IDF version can be passed in - stored in globals.idf_version. The version is checked in t_freertos.pas and for esp-idf version 4.3.x an extra link file is added, also running ldgen.py is skipped as that seems unused. 2021-11-29 22:42:49 +01:00
Pierre Muller
222a41be7b Change declaration of DynLinkStr local variable of MakeExecutable method to ansitring to avoid short string overflows 2021-11-28 23:57:09 +00:00
Jonas Maebe
2de72c8541 Linux/PPC64: fix missing TOC loads
Routines loading a global symbol need the TOC register
2021-11-28 18:32:32 +01:00
florian
9314bbbf08 * compilation hopefully fixed 2021-11-28 00:03:30 +01:00
Yuriy Sydorov
4f711a8b2c * Use longint for Tmoveins.id instead of word to prevent overflow in extreme cases. 2021-11-28 01:02:20 +02:00
florian
12f48c230b * use high level interface wrappers for powerpc64 if pic is generated as
the abi does not support branches between functions located in different
    tocs which might happen for inter-module branches
2021-11-27 23:33:22 +01:00
Yuriy Sydorov
5c55f1a16e * Added Tmoveins.id to be used for sorting and searching in Tmovelist, to
produce the consistent order of elements.
  This fixes occasional differences in the register allocation caused by
  the address space randomization. When ASLR is in effect, the previous
  approach to sort elements by their memory addresses can't guarantee the
  consistent elements order for each compilation of the same source code.
2021-11-27 19:44:50 +02:00
florian
e132ae2fee * last commit was not correct, fixed 2021-11-27 00:28:57 +01:00
florian
bf5f37b14a * fix conditional statement as pointed out by Sergey Larin 2021-11-26 22:27:19 +01:00
Pierre Muller
271ba59cf1 All Makefile's regenerated 2021-11-25 22:13:32 +00:00
florian
5bddb3a435 * x86-64 can handle overflows in 64 bit multiplications directly, part of resolving #39450 2021-11-24 23:06:38 +01:00
florian
65ef6f1f37 * regenerated Makefiles 2021-11-24 22:50:37 +01:00
florian
b733e21fd1 + more AArch64 extensions 2021-11-20 20:47:47 +01:00
florian
67f3a7502d + Aaarch64: support adr instructions with local labels in the assembler reader
+ throw an error if an illegal instruction extension is passed as command line option
2021-11-19 22:37:47 +01:00
florian
6404478ea4 * cleanup of VER3_0 defines 2021-11-17 22:19:57 +01:00
J. Gareth "Curious Kit" Moreton
2dc0995067 - Bug fix to new ADD/SUB optimisation where conditions are concerned
- Register allocation fixes for overflow checks
2021-11-17 20:18:57 +00:00
J. Gareth "Curious Kit" Moreton
3ce6c478cc Bug fixes to magic division and vectorcall code that trigger -CriotR checks 2021-11-16 20:39:57 +00:00
J. Gareth "Curious Kit" Moreton
9f60628e5b x86: new optimisation to change add/sub 128,(dest) to sub/add -128,(dest) to reduce binary size 2021-11-14 21:38:38 +00:00
florian
feb5bde09c * better code and data size info for FreeRTOS 2021-11-13 19:04:58 +01:00
florian
550d0481b3 * better error message 2021-11-11 22:52:21 +01:00
florian
03ce23246f * patch by Don Siders: Fixes spelling, grammar errors in source and compiler messages, resolves #39434 2021-11-10 19:16:14 +01:00
florian
e4ee8fa6a2 * patch by Rika to pass some strings by reference, resolves #39338 2021-11-09 22:41:52 +01:00
Pierre Muller
8e7791ac23 Explicitly disable overflow for offset propagation optimization 2021-11-08 22:55:44 +00:00
J. Gareth "Curious Kit" Moreton
671c674d65 Expanding division to 64-bit and tests 2021-11-08 21:46:12 +00:00