Commit Graph

25717 Commits

Author SHA1 Message Date
ccrause
985e8d3d13 Remove fall-through logic and separate idf_version checks of esp32 and esp8266. Also warn if idf_version is below the supported range. 2022-01-10 21:53:01 +02:00
Sven/Sarah Barth
9d95e6159e * fix typo in comment 2022-01-09 13:30:46 +01:00
J. Gareth "Curious Kit" Moreton
67a1d52806 JccAdd2SetccAdd modified to make use of GetIntRegisterBetween 2022-01-08 22:43:41 +00:00
J. Gareth "Curious Kit" Moreton
30166f8eb7 Procedure-saved registers are now recorded for peephole optimizers to use 2022-01-08 22:43:41 +00:00
Pierre Muller
c3e94051a1 Use '.rodata' for read-only data section for aarch64 CPU 2022-01-08 00:18:47 +01:00
J. Gareth "Curious Kit" Moreton
d5a104f493 Fixed Internal Error 2020120501 number clash 2022-01-07 10:25:00 +00:00
florian
4966e93764 * small fix for ie 2022-01-07 11:05:49 +01:00
J. Gareth "Curious Kit" Moreton
15a5a62eb4 New backward MOV optimisation 2022-01-06 20:57:48 +00:00
J. Gareth "Curious Kit" Moreton
33cf86ff9f PostPeepholeOptTestOr now removes TEST when dealing with POPCNT and LZCNT 2022-01-06 20:57:48 +00:00
florian
89f9ebc7b7 * throw an error if raise is called in a noreturn subroutine outside of any exception frame, resolves #39514 2022-01-06 21:13:19 +01:00
ccrause
5944631246 Add help message for xtensa-freertos -WP option 2022-01-05 22:05:19 +00:00
florian
e26b298885 * patch by Rika: Better Align()'s #2, resolves #39512 2022-01-05 19:50:21 +01:00
Pierre Muller
abee4d46b6 Ignore NR_DEFAULTFLAGS for ait_regalloc, because there is no default flags for JVM 2022-01-05 16:41:22 +00:00
Pierre Muller
c06a3f2ca3 Avoid range check error inside tcgcasenode.pass_generate_code method 2022-01-05 16:38:54 +00:00
Robert Roland
86c097086a Additional copyright header 2022-01-05 12:29:00 +00:00
Robert Roland
53e5a4a03a Adding aaarch64-embedded target
This adds support for aarch64-embedded, specifically for the Raspberry Pi 3.

Uses UART0 at 115200 baud 8N1 for console IO.
2022-01-05 12:29:00 +00:00
ccrause
ea345f34aa Use different library link lists for esp8266-rtos-sdk v3.3 and v3.4. 2022-01-05 09:35:02 +00:00
florian
3cf00af48d * compilation with -Oodfa fixed 2022-01-04 16:12:17 +01:00
florian
2b7c28e41a * (modified) patch by Rika: optutils.SetNodeSucessors improvement, resolves #39509 2022-01-04 16:04:38 +01:00
J. Gareth "Curious Kit" Moreton
50a37d00e7 Debugging code in AllocRegBetween is now safer and more accurate, and p2 can no longer be nil 2022-01-04 12:18:34 +00:00
florian
2a93e65511 * seperator => separator 2022-01-02 13:12:33 +01:00
florian
d2447026de + modeswitch UNDERSCOREISSEPERATOR, active by default in delphi modes:
support _ as seperator in numbers, it is ignored while reading them, resolves #39504
2022-01-01 23:28:36 +01:00
J. Gareth "Curious Kit" Moreton
116c861af6 MOV/CMP optimisation is now in both Pass 1 and Pass 2 to catch more
eventualities
2021-12-31 14:28:35 +00:00
Florian Klämpfl
25eab57a58 * allow %... for binary constants in delphi mode, resolves #39503 2021-12-29 15:37:53 +01:00
Karoly Balogh
f8de5fece2 Merge branch 'main' of https://gitlab.com/freepascal.org/fpc/source 2021-12-26 20:39:38 +01:00
Karoly Balogh
273a598be8 * Amiga-likes: set some sensible heapsize defaults, for OSHeap support 2021-12-26 17:22:11 +01:00
J. Gareth "Curious Kit" Moreton
8609c0803e Fixed MovxOp2Op failing on i386 due to lack of register check 2021-12-26 16:20:18 +00:00
Sven/Sarah Barth
1e37eef3d2 * use an anonymous symbol for the record operator table as its typing is different for each incarnation anyway 2021-12-26 16:36:16 +01:00
J. Gareth "Curious Kit" Moreton
f289f2694a x86: Additions to OptPass2Movx to better synergise with new CMP optimisation under -O2 2021-12-25 19:07:48 +00:00
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