Commit Graph

28769 Commits

Author SHA1 Message Date
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