J. Gareth "Curious Kit" Moreton
|
17b7782929
|
* i386: Fixed issue where the peephole optimizer entered an infinite loop when building for CPUs older than Pentium II
|
2024-04-26 19:08:00 +00:00 |
|
florian
|
fc6d6c123d
|
* more debug statments removed
|
2024-04-25 22:50:38 +02:00 |
|
florian
|
ab66440e76
|
* accidently committed debug statement removed
|
2024-04-25 22:47:17 +02:00 |
|
florian
|
51f5726343
|
* (hopefully) more consistent message when the compiler is stopped during showing the help screen, resolves #39455
|
2024-04-25 22:12:31 +02:00 |
|
Sven/Sarah Barth
|
7f03fb6966
|
* revert the changes from b0d61558e3 , as 61397d40ae fixes it more correctly
|
2024-04-24 23:13:57 +02:00 |
|
Sven/Sarah Barth
|
61397d40ae
|
* ensure that Insert() of a single element into a dynamic array is typechecked in a way that the user is notified of errors
+ added test
|
2024-04-24 23:13:36 +02:00 |
|
florian
|
2d1fba1fa1
|
* disable (type ...), it did never work and there are not test, resolves #40562
|
2024-04-24 22:51:11 +02:00 |
|
florian
|
2e86cdb620
|
* allow swapping of operands for three operand instructions if they are commutative
|
2024-04-22 22:25:37 +02:00 |
|
florian
|
c3a3cfe80f
|
* avoid range check error in TVMTBuilder.intf_optimize_vtbls by early bailing out if a class has no interfaces
|
2024-04-21 19:26:01 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
88ab9576b1
|
* a64: Added "ABS" and "CTZ" mnemonics (CSSC instructions)
|
2024-04-21 09:06:16 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
1ba93085f7
|
* a64: Added DOTPROD and PAUTH support flags to relevant instruction sets (v8.4+ and v8.3+ respectively)
|
2024-04-21 09:06:16 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
bba4edb6d0
|
* a64: ARMv8.7 through ARMv8.9 have been added as AArch64 CPU types, along with support for the CSSC extension.
|
2024-04-21 09:06:16 +00:00 |
|
florian
|
9409ec6341
|
* workaround unsupported -march=...+pauth for some assembler/clang versions
|
2024-04-21 11:04:42 +02:00 |
|
florian
|
902c93f3c3
|
* do not limit the number of interfaces per class, resolves #40268
|
2024-04-20 22:05:18 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
9ee1821622
|
* arm / a64: Extended the AND; CMP -> ANDS family of optimisations to catch BIC as well as AND
|
2024-04-20 12:55:47 +00:00 |
|
florian
|
e412f6be55
|
+ in on an empty set is always false, resolves #40745
|
2024-04-19 23:43:35 +02:00 |
|
florian
|
2f9ed0576e
|
* optimize x </>= length(...) also if the operands are swapped
|
2024-04-18 23:07:40 +02:00 |
|
florian
|
e130557d9f
|
* optimize x < length(arr) and x >= length(arr) as proposed in #40292
|
2024-04-17 23:29:13 +02:00 |
|
Pierre Muller
|
a4240a0c62
|
Fix compilation of i8086/n8086add.pas unit after introduction of get_int_value function
|
2024-04-17 07:52:05 +00:00 |
|
florian
|
f29ff58ab9
|
+ get_int_value
|
2024-04-16 23:11:16 +02:00 |
|
florian
|
48eeaf00a4
|
+ fold also divisons involving pointer constants (those nodes are internally generated only)
|
2024-04-15 23:02:28 +02:00 |
|
florian
|
2e9556f2eb
|
+ fold also constant pointer operations on nil nodes
|
2024-04-15 22:52:32 +02:00 |
|
florian
|
b3c1f294ba
|
+ propagate also widechar/pointer constants
|
2024-04-14 10:34:37 +02:00 |
|
florian
|
0aa851b7f7
|
* run constant propagation multiple times if needed and if slow optimizations are turned on
|
2024-04-14 10:00:20 +02:00 |
|
florian
|
5c46b5116d
|
+ also fold nil nodes when used as pointer constants
|
2024-04-13 22:52:46 +02:00 |
|
florian
|
1222456c13
|
* allow [] for constant set constraints, resolves #37020
|
2024-04-13 22:28:54 +02:00 |
|
florian
|
13fc4075f5
|
+ propagate pointer constants
|
2024-04-12 21:40:04 +02:00 |
|
Sven/Sarah Barth
|
b0d61558e3
|
* fix #40725: pass along whole array constructor to the Insert() so that it's converted with the correct checks
+ added test
|
2024-04-12 17:34:58 +02:00 |
|
Sven/Sarah Barth
|
e76c5d96d8
|
* Fix #40716: only add helpers if the type doesn't belong to the current object/class/record hierarchy
+ added test
|
2024-04-12 17:34:58 +02:00 |
|
Sven/Sarah Barth
|
7a1ef994b4
|
* fix #40721: correctly set up the generic defs when parsing fields, especially important when dealing with anonymous fields
+ added tests
|
2024-04-12 17:34:58 +02:00 |
|
Sven/Sarah Barth
|
0e9efd07ef
|
* extend read_anon_type() so that it can take a genericdef as well
|
2024-04-12 17:34:58 +02:00 |
|
Sven/Sarah Barth
|
eaf24269bc
|
* check that the corresponding genericdef of the adjusted def is indeed valid
|
2024-04-12 17:34:58 +02:00 |
|
Sven/Sarah Barth
|
550397b982
|
* fix #40708: when creating the sub-arraydefs for comma separated arrays, ensure that the new sub array also has the generic related information set up correctly
+ added test
|
2024-04-12 17:34:58 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
3cae3e7e48
|
* x86: Registers are now allocated properly during a FuncMov2Func
optimisation
|
2024-04-09 20:51:24 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
18eec3055e
|
* x86: More accurate register tracking in CheckJumpMovTransferOpt
|
2024-04-09 20:51:24 +00:00 |
|
florian
|
fd68d3bfbb
|
* ensure that left and right have a result type set in tx86addnode.pass_1, resolves #40727
|
2024-04-08 22:53:34 +02:00 |
|
florian
|
80750f7591
|
* second_abs: don't supply a separate 64 bit code path for high level cpu targets
|
2024-04-07 22:49:18 +02:00 |
|
Nikolay Nikolov
|
2e65a5d458
|
+ introduced cgbase.topcg2str and topcmp2str for converting TOpCg and TOpCmp to strings (useful for debug logging, etc)
|
2024-04-07 22:10:41 +03:00 |
|
florian
|
139f2dfe84
|
* fix internalerror 200502052 with certain min/max optimizations on x86-64, resolves #40730
|
2024-04-06 23:31:37 +02:00 |
|
Pierre Muller
|
f56587bddd
|
Use correct check for unsigned size in a_op64_{const/reg}_reg_reg_checkoverflow methods
|
2024-04-03 23:41:50 +02:00 |
|
Pierre Muller
|
8511b0fc7b
|
Increase default stack size to 8Mb for i386 and sparc solaris systems
|
2024-04-03 23:17:55 +02:00 |
|
florian
|
8cdb3deebd
|
* another fix for min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40724
|
2024-04-03 22:03:30 +02:00 |
|
Pierre Muller
|
8fa80295d0
|
Avoid running cleanppulogs and ppulogs rules in parallel
|
2024-04-03 14:56:51 +00:00 |
|
florian
|
e7716dc05f
|
+ avr: overflow checking for abs, together with the other recent abs-related commits, resolves #40694
|
2024-04-02 19:01:42 +02:00 |
|
florian
|
b00e9543a7
|
* sparc: overflow support for 64 bit operations
|
2024-04-02 16:41:38 +02:00 |
|
florian
|
3b8fcfc6eb
|
* fix min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40721
|
2024-04-01 23:25:24 +02:00 |
|
Michael Ring
|
7c3ab69c50
|
Fixed missing section for Raspberry Pi Pico
|
2024-04-01 21:00:12 +00:00 |
|
florian
|
e88248d453
|
+ comment to explain last commit
|
2024-03-31 22:33:22 +02:00 |
|
florian
|
bf1c674672
|
* don't remove align directives before case jump tables (they have the type alt_addr)
|
2024-03-31 22:15:08 +02:00 |
|
florian
|
a90691435b
|
+ abs(long/int64): overflow checking for xtensa implemented
|
2024-03-30 20:29:48 +01:00 |
|