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