Commit Graph

28772 Commits

Author SHA1 Message Date
Nikolay Nikolov
c21beefbb2 * added 'legacy' to comment before the WebAssembly exceptions instructions, because they've been declared 'legacy' now 2025-09-21 18:13:20 +03:00
Nikolay Nikolov
f9608e8506 * WebAssembly internal linker: fixed bug, when reading very large (in absolute
value) signed negative LEB128 numbers (encoded as 10 bytes). It is very
  unlikely for this to have presented a problem in practice on the 32-bit
  WebAssembly platforms, since reading signed LEB numbers is only used for
  reading the initial value of WebAssembly globals in external modules, and the
  affected values are unlikely, but it is still bug, which is why I'm fixing it.
2025-09-21 17:19:40 +03:00
florian
916810db41 * avr: optimized code generation for ... xor constant 2025-09-21 14:14:30 +02:00
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