J. Gareth "Curious Kit" Moreton
|
683a92bcc8
|
i386: Correction to GetIntRegisterBetween to ensure we only get 8-bit registers that we can actually encode
|
2021-12-25 19:07:48 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
1da7ce46de
|
x86: New double CMP optimisation to remove a branch
|
2021-12-25 19:07:48 +00:00 |
|
florian
|
abc4a0a4e6
|
* patch by Rika: another improvement of cutils.newalignment, part of #39496
|
2021-12-25 19:37:27 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
cafd708b6d
|
Refactoring of OptPass2Movx to remove goto
|
2021-12-25 16:38:10 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
22cd8d5d62
|
Fixed bug in MovxMovx2Movx optimisation that would specify a 64-bit destination instead of 32-bit one
|
2021-12-25 14:49:08 +00:00 |
|
florian
|
ab969e0a9b
|
* patch by Rika: improve ctuils.newalign/align, part of #39496
|
2021-12-23 22:01:39 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
b4c8c1da12
|
Overflow bug fixes to MovZX/SX optimisations when CMP instructions are encountered.
|
2021-12-23 07:14:49 +00:00 |
|
florian
|
6dbe71cd30
|
* TX86AsmOptimizer.OptPass1MOVXX should search only over other instructions if it works with registers only
|
2021-12-22 22:54:11 +01:00 |
|
florian
|
6147d6d8a0
|
* compilation with i386 fixed
|
2021-12-21 22:46:12 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
d083cc7247
|
New MovxAndTest2Test optimisation to mirror the regular MovAndTest2Test optimisation
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
5b4c104aaf
|
Massive overhaul to OptPass2Movx to favour operand shrinkage
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
d255ffba8b
|
Improved handling of signed sequences in OptPass2Movx
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
01e5f4855a
|
MovZX->MovSX optimisation
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
4825d2d16c
|
New Movz ###,%ecx, shift/rotate %cl,... optimisation
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
f02b7508de
|
Bolder OptPass2Movx optimisations, including a simplification fix
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
da899df6b2
|
New MovxMovxOp2OpMovx optimisation
|
2021-12-20 22:10:22 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
40196f4a43
|
Fixes to ADD/SUB 128 optimisation that didn't check flags properly, and also handling ADC/SBB properly
|
2021-12-19 20:51:57 +00:00 |
|
florian
|
e443936e12
|
+ in_min/max_dword/longint support for aarch64
|
2021-12-19 16:16:44 +01:00 |
|
florian
|
77b9d62520
|
+ in_min/max_single/double support for aarch64
|
2021-12-18 21:23:21 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
b4bd15a5c0
|
Removed incorrect logic in TEST optimisation
|
2021-12-17 22:10:12 +00:00 |
|
florian
|
03f4685455
|
+ sanity checks in mips and sparc register allocator
|
2021-12-17 21:25:17 +01:00 |
|
florian
|
c6874df5c8
|
* better error recovery, resolves #39485
|
2021-12-16 22:27:38 +01:00 |
|
florian
|
f7239e03e7
|
* make tgobj.pas less verbose in extdebug mode, use separate define DEBUG_FREETEMP for the really
verbose stuff
|
2021-12-15 23:05:18 +01:00 |
|
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 |
|