florian
63c4bc29ba
* cleanup
2025-09-20 23:14:42 +02:00
florian
26d1b0b778
* better fix for #41412 I think as procedures can be tail call optimized as there is no result
2025-09-19 19:40:05 +02:00
Karoly Balogh
ed65f26e98
ncgmat: fix location for constant divisions-by-power-of-two after a291347d
2025-09-19 01:50:17 +02:00
Karoly Balogh
8030e218e1
m68k: do not allow the members of the register pair in division/remainder instructions be the same register
2025-09-19 01:14:08 +02:00
florian
c4c71d362c
* fix RiscV64 building
2025-09-18 22:02:16 +02:00
Pierre Muller
989b173b0b
Fix tailrec opt. error reoprted in #41412
...
Disable tailrec optimizationi for functions,
if callnode reuult is not used, because otherwise
the value of second call ends up as the return value.
Fixes bug reoprt #41412
2025-09-17 22:41:21 +00:00
florian
a291347d98
* emit_div/mod_reg_reg_reg takes now three operands
2025-09-17 22:40:28 +02:00
florian
e9026b2a1c
* reduce register usage in tcgmoddivnode.pass_generate_code
2025-09-16 22:56:50 +02:00
J. Gareth "Curious Kit" Moreton
23217f4ac9
* x86: Added new post-peephole optimisations to convert BMI2 shift/rotate instructions to their smaller traditional versions if possible
2025-09-16 22:31:19 +02:00
J. Gareth "Curious Kit" Moreton
54f7127048
* x86: New "Not/And -> Andn/Not" peephole optimisation
2025-09-16 22:31:19 +02:00
florian
6ed0a74f54
* compilation fixed
2025-09-15 22:51:24 +02:00
florian
a5b79cc7d7
* handle more inline operations in node_complexity
2025-09-15 22:30:18 +02:00
mattias
6a259624da
compiler: when queue is stuck, write state of waiting for, issue #41386
2025-09-15 08:42:08 +02:00
florian
e0daa4fe84
* fixed a few issues with last merge
2025-09-14 21:21:28 +02:00
Rika Ichinose
d12e8ddd50
Support “in” in node_complexity.
2025-09-14 20:39:48 +02:00
mattias
e059f7829b
compiler: when stuck with waiting queue, write items, issue #41386
2025-09-14 19:02:30 +02:00
Rika Ichinose
f1301a14e1
optloop.pas: move global variables to a context object.
2025-09-14 10:43:11 +02:00
J. Gareth "Curious Kit" Moreton
79eee75aa0
* x86: Convert isolated "(1 shl y) - 1" to BZHI, not just "x and ((1 shl y) - 1)"
2025-09-14 10:28:22 +02:00
florian
1d5a31ed41
+ comment
2025-09-13 22:07:18 +02:00
Pierre Muller
1f12737beb
Test local fix for powerpc out of reach conditional jump
2025-09-13 01:28:49 +02:00
Pierre Muller
688e20f7a5
Try to fix bug report #41397
2025-09-12 23:21:51 +00:00
florian
a45253c7ac
* fix AndiSb2Sb optimization
2025-09-12 21:40:43 +02:00
Sven/Sarah Barth
436c3049b9
+ define FPC_ABI_WIN64 for systems that use the Win64 ABI (currently it's only x86_64-win64, but there are also x86_64-nativent and x86_64-uefi as potential targets)
2025-09-12 15:23:41 +02:00
florian
f71871e60d
* generating a linear sub list makes no sense for RiscV
2025-09-11 22:41:41 +02:00
florian
0d2297c9ca
+ AndiSb2Sb optimization
2025-09-11 22:41:40 +02:00
Karoly Balogh
2b83745211
msg: fixed typos in the description of improperly indented multi-line strings error
2025-09-11 20:44:55 +02:00
Karoly Balogh
4f1f0d93a5
scanner: please do not try to byte swap a byte. not even on big endian.
2025-09-11 20:32:58 +02:00
Karoly Balogh
0fed8ffe7c
scanner: actually use the result of readquotedstring as cpattern. this fixes the fileexists() preprocessor directive, broken since 2c1fa9e9
2025-09-11 19:49:10 +02:00
Pierre Muller
e1d6a355b5
Set unititialized local boolean variables to false to avoid random behavior
2025-09-11 16:06:14 +00:00
Karoly Balogh
1fa7d4f92a
m68k: on CF, sign_extend the clone register not the original dst for rotate/shift ops
2025-09-11 10:38:35 +02:00
Karoly Balogh
21fe99bfcc
m68k: fix typos in 6a82ca8a - caused by blind refactor before committing
2025-09-11 05:20:30 +02:00
Karoly Balogh
820f0b2907
m68k: allow the optimizer to fold of two differently sized ANDs, but use the larger size in the resulting instruction
2025-09-11 05:05:32 +02:00
Karoly Balogh
6a82ca8a1e
m68k: add support for OP_ROL/OP_ROR to a_op_reg_reg. this fixes m68k builds after 0af3f2a9
2025-09-11 05:04:11 +02:00
Karoly Balogh
69611bba2d
m68k: fix indentation, no functional change
2025-09-11 05:01:43 +02:00
florian
f6ef9f2aa3
* spelling
2025-09-10 23:07:27 +02:00
ccrause
41fa38d217
Update esp32c3 for esp-idf v5.5
2025-09-10 22:42:42 +02:00
florian
8de37f69b9
* spelling
...
* check against current_settings.cputype
2025-09-09 22:52:37 +02:00
Pierre Muller
0f337a9a2c
Fix error about unset result in TDebugInfoLLVM.getabstractprocdeftypes method
2025-09-08 20:57:16 +00:00
J. Gareth "Curious Kit" Moreton
0af3f2a903
* Improved shift-to-rotate node optimisation to reduce code size and permit the use of a variable index
2025-09-08 14:26:34 +02:00
florian
f3a443f99e
* compilation with -dextdebug fixed
2025-09-08 14:23:38 +02:00
mattias
9e54493696
compiler: wait for crc: clean up waitingforunit, processqueue: stop endless loop
2025-09-03 02:41:59 +02:00
mattias
329442eb27
compiler: added module state ms_compiled_waitcrc and delay writing ppu until all used unit crcs are computed
2025-09-03 02:41:59 +02:00
mattias
bfab984080
compiler: re-added ms_moduleerror, small optimization
2025-09-03 02:41:59 +02:00
Pierre Muller
0b84ccd555
Fix bug report #41384
2025-09-02 12:30:34 +00:00
ccrause
d67f878722
Remove nonexistent controller.
2025-09-02 14:14:35 +02:00
ccrause
9af8d099fe
Add atxmega, AVR-Dx and AVR-Ex controllers.
2025-09-02 09:37:56 +00:00
mattias
0b176e43f7
compiler: tmodulestate comments and removed unused ms_error
2025-09-01 21:53:48 +02:00
Pierre Muller
d1242ad4e7
Copy x86_64-win64 specific code of tx64tryfinallynode.pass_generate_code over to taarch64tryfinallynode.pass_generate_code
2025-08-27 23:24:51 +02:00
Pierre Muller
0420b03339
Add missing firstpass as suggested by rasberryrabbit, and fix formatting issues
2025-08-22 14:28:18 +02:00
J. Gareth "Curious Kit" Moreton
84a4158979
* x86-64: Efficiency boost for "MovlMovq2MovlMovl 1" / "Mov2Nop 8" optimisation
2025-08-22 04:55:41 +01:00