Commit Graph

69561 Commits

Author SHA1 Message Date
Michaël Van Canneyt
564597a573 * Fix access violation: module can be reset while loading dependent units. Fixes issue #40705 2024-03-26 16:06:27 +01:00
J. Gareth "Curious Kit" Moreton
ee1916e919 * i8086: Local variables unused in "second_AndOrXorShiftRot_assign" on i8086 are now not defined on this platform 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
11b341cc97 * x86: Added new OptPass1CMOVcc peephole optimisation routine to dust up min/max code 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
c79361c010 * Min/max intrinsics now simplify deterministic results 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
e4a0ce2fb5 * x86: Min/max intrinsic support 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
77c86cafd0 * a64: Fixed bug where unsigned min/max inlines used a signed comparison 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
81b7b80749 * Added support for 64-bit min/max intrinsics 2024-03-26 14:18:31 +00:00
florian
961e8fb749 * patch by Joeny Ang: fix TDbf memory leak, resolves #40709 2024-03-26 15:02:50 +01:00
Michaël Van Canneyt
14d4b0808b * Patch from Thierry Gayet to fix compilation of tests 2024-03-26 14:54:19 +01:00
florian
8971103a00 * use bit_set_reg_reg also to clear single bits in thlcgobj.a_load_regconst_subsetref_intern 2024-03-26 14:46:01 +01:00
ccrause
f4828950a2 Add efuse library to default list of static link libraries. 2024-03-26 13:26:45 +00:00
J. Gareth "Curious Kit" Moreton
4378319f87 * Added missing "override" directive for XML node dump routine on TDerefNode 2024-03-26 13:25:46 +00:00
Pierre Muller
afea558fbe Add -32/-64 for sparc GNU assembler calls 2024-03-25 23:48:14 +01:00
Pierre Muller
c68ddc5360 Add $EMUL also for sparc CPU GNU linker call on solaris OS 2024-03-25 23:48:14 +01:00
J. Gareth "Curious Kit" Moreton
948766a37a * x86: New Op/TEST optimisation that rearranges register usage for the most efficient execution 2024-03-25 22:25:29 +00:00
florian
7c609ee7c4 * proper fix for 9056ab8025 2024-03-25 22:33:30 +01:00
Michaël Van Canneyt
dcadafa1b8 * Fix memleak 2024-03-25 15:47:30 +01:00
Michaël Van Canneyt
04e715445f * Patch from Thierry Gayet to fix crash when no options are specified on command-line 2024-03-25 15:47:06 +01:00
Pierre Muller
9056ab8025 Fix generation of i8086 CPU code, as BTR/BTS instructions require at least 386 CPU 2024-03-25 14:29:08 +00:00
florian
ac150e58c8 * thlcgobj.a_load_regconst_subsetref_intern uses a_bit_set_reg_reg if applicable 2024-03-25 00:01:24 +01:00
florian
12176d3683 * avoid to generate bts/r with memory operand
+ thlcgx86.a_bit_set_reg_reg
2024-03-24 23:03:33 +01:00
J. Gareth "Curious Kit" Moreton
2b7df4237b * nf_pass1_done, nf_error, nf_processing and nf_do_not_execute
have been moved to a new "transientflags" node field that
    isn't stored in PPU files
2024-03-24 18:14:49 +00:00
ccrause
dd858f37aa Ensure register to be eliminated is de-allocated before applying optimization LdsMov2Lds. 2024-03-24 13:54:31 +00:00
J. Gareth "Curious Kit" Moreton
99851f22f5 * a64: New B -> RET peephole optimisation 2024-03-24 13:31:52 +00:00
florian
3327204ebd * restored overwritten test 2024-03-24 14:30:07 +01:00
florian
20f9b82543 * AArch64: overflow checking for abs
* tabs adapted: also abs(longint) must overflow check on 64 bit platforms
2024-03-24 12:47:16 +01:00
florian
1fccfd3ee1 * AArch64: avoid false overflow error in case of -2^63+0 2024-03-24 12:36:02 +01:00
florian
cf6b38c35f * regenerated Makefiles after last commit 2024-03-23 22:30:37 +01:00
Michael Ring
6fadd49fb6 Added missing RP2040 definition in Makefile.rtl to make sure that regenerating of Makefiles does not remove rp2040 unit 2024-03-23 21:25:37 +00:00
florian
b7322ae4c3 * write correct type name in error message 2024-03-23 22:24:55 +01:00
florian
367beaaef4 + extend test to test overflow checking 2024-03-23 22:21:42 +01:00
florian
4100f75056 + optimize s:=s+[e] into include(s,e) 2024-03-23 21:02:15 +01:00
florian
06fc6f1e6b * use destination location instead of a temp when constructing sets, resolves #40384 2024-03-22 21:50:42 +01:00
florian
8aca910435 * improve test so it exits with the proper error code 2024-03-21 22:52:56 +01:00
Michaël Van Canneyt
5bcedcfe30 * Small improvements, quiet mode 2024-03-21 16:47:00 +01:00
Michaël Van Canneyt
173233d78e * Correct dependency for SYSUTILS 2024-03-21 10:34:51 +01:00
Michaël Van Canneyt
77673c5e37 * Fix typo 2024-03-21 10:32:23 +01:00
Michaël Van Canneyt
3fcd891577 * Namespace support 2024-03-20 23:10:48 +01:00
Michaël Van Canneyt
4680d41d67 * Add dpktolpk unit plus example 2024-03-20 23:02:56 +01:00
florian
635b06d53c + test for commit e1297e0859 2024-03-20 22:01:59 +01:00
J. Gareth "Curious Kit" Moreton
e1297e0859 * Adjustment to "(v>=x) and (v<=y)" so it also optimises its inverse: "(v<x) or (v>y)" 2024-03-20 21:01:35 +00:00
Pierre Muller
d0f08ef259 Regenerate RTL Makefile's after RP2040UNIT variable addition, and debug buildrtl.pp unit for Linux OS 2024-03-20 17:33:14 +00:00
Pierre Muller
1caa5dfde8 Re-implement (for debugging purposes) buildrtl.pp unit for Linux OS (not used in regular RTL compilation) 2024-03-20 17:31:38 +00:00
Pierre Muller
36b511f057 FFix compilation of compiler with -dTest_Double_checksum 2024-03-20 17:30:12 +00:00
Michaël Van Canneyt
e7184f3126 * Properly pass on FUsePublishedOnly to properties. Fixes issue #40702 2024-03-19 11:06:29 +01:00
Michaël Van Canneyt
628e0cdbd1 * Fix compilation in unicode RTL 2024-03-19 10:38:59 +01:00
Michaël Van Canneyt
c52794f943 * Fix build of nativent 2024-03-19 10:27:30 +01:00
J. Gareth "Curious Kit" Moreton
f77b9fa4ef * arm/a64: Fixed bug where shifter operand was not preserved in AND/CMP -> TST optimisation 2024-03-18 21:21:54 +00:00
marcoonthegit
c5f2f79dbf * reenable chmls and chmcmd building 2024-03-18 19:11:28 +01:00
Michaël Van Canneyt
91756b9e3e * Attributes for methods 2024-03-18 17:25:20 +01:00