Rika Ichinose
8498eacdeb
Remove unused cutils functions.
2024-11-04 22:05:03 +00:00
Rika Ichinose
0b97f169b0
Remove conditionals that rely on not defined(FPC_HAS_CPSTRING).
2024-11-04 10:28:33 +00:00
Rika Ichinose
2596af84fa
Optimize {$DEFINE x := y} and refactor tmacro.buftext.
2024-11-03 17:33:44 +00:00
J. Gareth "Curious Kit" Moreton
2a50d5abf8
* ARMv7A / A64: Constant writes to memory merged to larger forms where possible
2024-11-03 15:02:51 +00:00
Rika Ichinose
7343a12908
Use “set of (op_unary, op_binary)” to check for supported operator overloads.
2024-11-03 14:52:26 +00:00
Rika Ichinose
bff561063f
Use TFPList.FreeAndNilDisposing in four more places.
2024-11-03 14:39:24 +00:00
florian
183a10b292
* avoid code duplication :)
2024-11-03 15:37:50 +01:00
Frederic Kehrein
1778fb6fe3
Implementing TImplementedInterface.getcopy
to allow copying of interfaced objectcs
...
It's probably not fully correct(see comment about procdef copy) but
seems good enough ¯\_(ツ)_/¯
2024-11-03 14:08:45 +00:00
Rika Ichinose
7a963ac56a
Align htypechk.pas:is_better_candidate to the left edge of the screen.
2024-11-02 18:53:30 +03:00
florian
bea36238e7
* generate fmrx instruction only if the cpu has the vfp extension, resolves #40985
2024-11-01 22:29:11 +01:00
Nikolay Nikolov
800fb6624e
+ added a missing 'br 1' instruction in the code, generated by
...
GenerateCode_InitSharedMemory. This should fix the loading error in browsers,
when using multithreading.
2024-10-31 22:55:17 +02:00
Frederic Kehrein
59a1199110
Adding support for indexed properties in extended RTTI
2024-10-31 14:51:00 +00:00
florian
b7edddf9d9
* do not eat the semicolon after an absolute expression to a symbol, noted in #40978
2024-10-30 22:45:48 +01:00
florian
b28681e91d
* properly reject function calls as target of absolute, resolves #40977
...
* better error message on invalid expressions for absolute
2024-10-29 22:23:25 +01:00
florian
75d7b66bdf
* compilation fixed
...
* cosmetics: trailing spaces removed
2024-10-27 17:54:34 +01:00
Rika Ichinose
8784dbc095
Outline freeing TFPList with disposing its items into TFPList.FreeAndNilDisposing.
2024-10-27 16:45:35 +00:00
Rika Ichinose
510a281c3f
Use a set instead of boolean arguments to TCallCandidates.
2024-10-27 16:45:35 +00:00
Rika Ichinose
326776c7fa
Turn TCallCandidates into an object, make it create FIgnoredCandidateProcs on demand, and outline such adding on demand into dedicated TFPList.AddOnDemand.
2024-10-27 16:45:35 +00:00
J. Gareth "Curious Kit" Moreton
8520dabebb
* x86: New RET/lbl/RET optimisation
2024-10-27 08:17:10 +00:00
J. Gareth "Curious Kit" Moreton
8bb3367a49
* x86: Refactored SetCC optimisations to better
...
spot label clusters and alignment hints.
2024-10-27 08:17:10 +00:00
florian
511beac49c
* get rid of the hack that tlabelnode inherits from tunarynode and stores a statement in left, resolves #40964
2024-10-26 16:11:24 +02:00
Jonas Maebe
fd83bb10d4
macOS: use -macos_version_min for recent versions
...
-macosx_version_min was renamed. Ideally we would base this on the version of
the toolset used, but we don't know that. Instead, use it when targeting
more recent macOS versions
2024-10-26 15:28:47 +02:00
Sven/Sarah Barth
00fc962ca3
+ fix #40963 : print suitable messages for local unit, include, library and object paths if -vt is given
...
+ added test
2024-10-25 17:13:23 +02:00
florian
4ef30edbd4
* set ra_addr_taken for addr. param only if really needed
2024-10-23 23:04:43 +02:00
florian
5d4bb6db9b
* patch by lag programming to replace bitcnt by popcnt, resolves #40962
2024-10-22 22:54:57 +02:00
florian
a9f522c29d
* consolidated code
2024-10-21 23:04:25 +02:00
Pierre Muller
74d2d2f0d8
Remove unneeded, and possibly wrong typecast to fix cycle with -CR option
2024-10-21 12:13:14 +00:00
florian
397293f09f
+ more fixes to mark symbols used by preprocessor expressions properly
...
+ made MarkSymbolAsUsed more fail safe
+ tests
2024-10-20 17:28:20 +02:00
J. Gareth "Curious Kit" Moreton
80f1d55822
- MovOp2Op optimisation upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
85ee93c2c5
- MovLea2Add optimisation upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
1bc0ae3d18
- Mov2Nop 5a and Mov2Nop 5b optimisations upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
f36fbd17b1
- 32-to-64-bit zero extension optimisations upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
b1a76314ae
- Const and ref merge optimisations upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
65f2dd2337
- OR and extension optimisations upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
6dfe323e6f
- AND and DeepMovOpt optimisations upgraded.
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
e187d49590
* x86: New reference support methods to detect modification
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
d0c7838eec
* x86: CheckMovMov2MovMov2 now sets "Force New Iteration" if it optimises
2024-10-20 12:43:52 +00:00
J. Gareth "Curious Kit" Moreton
d5c6286852
* x86: Bug fix in OptPass1MOV long-range optimisations where
...
the wrong register was checked to see if had changed.
2024-10-20 12:43:52 +00:00
florian
22ec4a2033
* mark symbols used in conditional compiling expressions using sizeof, resolves #40955
2024-10-20 14:37:09 +02:00
florian
00ae194e0a
+ add printing of all fields of tcallnode in TCallNode.XMLPrintNodeData as well
2024-10-20 11:23:11 +02:00
florian
b8a4a72760
* properly process all child nodes of call nodes in foreachnode, resolves #40957
2024-10-19 23:41:46 +02:00
florian
431d4395ea
+ print all sub nodes of call nodes
2024-10-19 23:41:46 +02:00
florian
b2892adebf
* do not set the addr taken flag for nodes to passed to const/var/out parameters, if
...
the code of the callee is known and within the callee no address of the parameters
is taken
2024-10-19 15:15:51 +02:00
florian
c828615886
+ enable strength reduction for -O3, probably an oversight for years that it was not included in -O3
2024-10-19 11:00:24 +02:00
florian
46dcffed42
* MIPS64: make use of DMTC1 instruction
2024-10-18 21:53:26 +02:00
J. Gareth "Curious Kit" Moreton
205e4f3421
* "checkcontinue" replaced with "has_child_of_type(..., [continuen])"
2024-10-18 18:26:48 +00:00
J. Gareth "Curious Kit" Moreton
9077954762
* "no_exit_statement_in_block" replaced with "not has_child_of_type(..., [exitn])"
2024-10-18 18:26:48 +00:00
J. Gareth "Curious Kit" Moreton
59ff8a0f65
* Node-stripping optimisation in "TBlockNode.simplify" now uses "has_child_of_type" to determine stop point
2024-10-18 18:26:48 +00:00
J. Gareth "Curious Kit" Moreton
a91c1ab627
* Added new node utility function to search for nodes of a specific type in a node tree
2024-10-18 18:26:48 +00:00
Sven/Sarah Barth
04b0dfc812
* fix typo in comment
2024-10-18 17:51:49 +02:00