Pierre Muller
f3179cb718
Add system_powerpc_wii to supported_targets of powerpc generic GNU assembler
2022-10-22 15:34:38 -05:00
J. Gareth "Curious Kit" Moreton
626e23d89f
* x86: The code generator will now attempt manipulate "x and (not y)" (where x and y are ordinals) to use ANDN.
2022-10-22 13:13:44 +00:00
J. Gareth "Curious Kit" Moreton
567244007e
* x86: Improvement to bug fix so an optimisation can still be made even if the other register is in use
2022-10-22 13:07:16 +00:00
J. Gareth "Curious Kit" Moreton
41b8f6a42e
* x86: Bug fix where improved AddMov2Mov optimisation didn't
...
check to see if the other register was modified in between
2022-10-22 13:07:16 +00:00
J. Gareth "Curious Kit" Moreton
fa76baa3d4
* New test to evaluate i39918
2022-10-22 13:07:16 +00:00
florian
8f269d4540
* check for proper exception type
2022-10-22 15:05:52 +02:00
florian
2b48afe151
* check if optinfo is assigned before using it, resolves #39913
2022-10-21 21:14:39 +02:00
florian
2c51abf40d
+ print optinfo pointer if set
2022-10-21 21:13:28 +02:00
Michaël Van Canneyt
0a2447a955
* Publish all available & needed properties
2022-10-21 13:36:10 +02:00
mattias
87a9214983
pastojs: FindDefaultConfig: search in symlinked compiler exe
2022-10-21 12:10:09 +01:00
Jonas Maebe
229d88c50f
Thumb(2): fix compilation after FPU control word changes
...
Resolves #39966
2022-10-20 22:25:29 +02:00
Martin
dd0711a27e
Fix incorrect dwarf entry count. Issue #39928 introduced in 1b6982107f
2022-10-20 20:03:23 +00:00
Michaël Van Canneyt
850685844b
* Fix handling of options file
2022-10-19 22:57:11 +02:00
Michaël Van Canneyt
9e60c686b4
* Add crossoriginisolation and debugcapture
2022-10-19 22:57:11 +02:00
florian
e142953c6d
* make the hidden high parameter for short strings a byte for 8 bit CPUs
2022-10-19 22:48:54 +02:00
ccrause
991460c4ee
Rewrite fpc_shortstr_concat_multi for AVR to not use a temporary shortstring to reduce RAM usage.
2022-10-19 20:18:56 +00:00
Michael VAN CANNEYT
fb7787b11e
* Added debugcapture route
2022-10-19 20:33:06 +02:00
mattias
2d94575fa8
fcl-css: added attribute value check
2022-10-19 16:44:33 +01:00
J. Gareth "Curious Kit" Moreton
45b1d592f5
* x86: Bug fix where "mov $0,%reg" was inserted on the wrong side of a SETcc instruction
2022-10-18 20:47:42 +00:00
J. Gareth "Curious Kit" Moreton
27aa4d4e34
* x86: ConvertJumpToRET now sets the condition to C_None
2022-10-18 20:47:42 +00:00
J. Gareth "Curious Kit" Moreton
6b77017cb9
* x86: Added two new tests for i39922
2022-10-18 20:47:42 +00:00
Jonas Maebe
c89848a00f
powerpc64le: fix reading FPU control word after 0758aa1143
...
Also, missing rest of the commit message for that change:
The default implementation of SysResetFPU now sets the FPU control word that
was last set from any thread (Delphi and FPC i386/x86-64-compatible). No longer
call SysInitFPU when starting a new thread, only SysResetFPU. Combined, this
means that new FPC-started threads will always start out with that control
word on all architectures.
Added generic fpc_cpuinit implementation that is used unless
FPC_SYSTEM_HAS_FPC_CPUINIT has been defined.
Ensure that the softfloat exception mask is initially set to the same
value as the hardware fpu exception mask on architectures that use both.
SafeLoadLibrary now saves/restores the FPU control word on all platforms.
Removed outdated fpc_mtfsb0_corrected define check in powerpc64.inc
Resolves #38230
2022-10-18 21:55:53 +02:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
florian
e457cdad8a
* patch by avk959 to solve infinite loop in FindMatchesBoyerMoore*, resolves #39885 and #39709
...
+ tests
2022-10-17 21:14:32 +02:00
florian
5670a7543c
* properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958
...
* factored out nutils.node_reset_pass1_write
2022-10-16 22:51:50 +02:00
Jeppe
c83e6c34a9
riscv32: Fix 64bit comparisons
...
- Code taken from MIPS backend
- Removed some unused code generated for RV32 64bit integer ops
2022-10-16 17:37:53 +02:00
mattias
73e5d6f70f
fcl-css: renamed TCSSNode to ICSSNode, resolver: list of style elements
2022-10-16 13:51:45 +02:00
florian
65ff03f30a
+ test for #39955
2022-10-15 13:59:35 +02:00
florian
1c86a4bbeb
* if a pointer_to_array type conversion is applied to a variable, it is not written, resolves #39957
2022-10-14 23:12:18 +02:00
mattias
27315ac528
fcl-css: shorten PseudoAttribute to Pseudo
2022-10-14 18:48:07 +02:00
florian
e2a26ecece
* fixes tcg64frv.a_op64_const_reg_reg based on the analysis of Bart B, resolves #39953
2022-10-13 23:16:19 +02:00
Michaël Van Canneyt
0b3c608d79
* Faster DupeString by Rika. Fixes issue #39949
2022-10-13 13:00:57 +02:00
Michaël Van Canneyt
d5777174d8
* Optimization of TStringHelper.Split by Rika. Fixes issue #39948
2022-10-13 12:45:30 +02:00
mattias
eb17e6fd2d
fcl-web: fixed crash in websocket server on windows when closing when already disconnected
2022-10-13 00:56:07 +02:00
Jonas Maebe
b150480c60
Darwin: don't try to print size statistics if the binary wasn't linked
2022-10-12 22:58:19 +02:00
Jonas Maebe
a835d8b533
rgobj: reduce compilation time of programs with long movelists
...
Reduces compilation time of webtbs/tw2242 for AArch64 with -O2 from
15 minutes to 10 seconds on my system.
from 15 minutes to 10 seconds
2022-10-12 22:58:18 +02:00
Jonas Maebe
e2ade64a1e
cgbase: make first parameter of supregset_reset "out"
2022-10-12 22:58:18 +02:00
Pierre Muller
d217a459aa
Fix bug report #39952 .
...
* compiler/aggas.pas: Avoid use of .long for 64bit constant
for targets that automatically insert alignments.
+ tests/webtbs/tw39952.pp: New test from bug report 39952.
2022-10-12 21:28:16 +01:00
florian
f0c0d8a033
+ test for #22809 which is meanwhile resolved
2022-10-12 21:56:30 +02:00
florian
989895c82f
* patch by Bart B: FormatFloat correctly outputs NaN now, resolves #32868
...
+ test
2022-10-11 22:11:33 +02:00
Sven/Sarah Barth
bb51ac77dd
* the right side of a concatenation of multiple ShortString values can directly pass any String[x] to the utility routine, because only the Length() is used, not High() and nothing is modified (also typed pointers must not be used for them); this allows for better code generation for strings with a maximum length < 255
2022-10-11 07:40:13 +02:00
mattias
3e181d7640
pastojs: fixed clone array of tobject, pas2js issue 39238
2022-10-11 00:41:24 +02:00
florian
1b6982107f
* TDebugInfoDwarf3.appenddef_object should not write an extra finish_entry for objects and C++ classes
2022-10-10 22:46:25 +02:00
florian
3e5f6d3228
* use AllocRegbetween in TARMAsmOptimizer.RemoveSuperfluousMove, resolves #39921
2022-10-09 21:32:22 +02:00
Sven/Sarah Barth
02aac653d2
* optimize shortstring concatenations if they're on the right side of an assignment to directly use the left side instead of a temporary
2022-10-09 13:56:52 +02:00
Sven/Sarah Barth
32261a0f6d
* fix copy/paste typo in comments
2022-10-09 13:56:52 +02:00
Michaël Van Canneyt
f2580efc15
* Fix memleak in case of error.
2022-10-09 12:42:57 +02:00
Jonas Maebe
d12bf094ab
cs_opt_consts: disable when non-local gotos are active
...
This optimisation can insert code after the call to fpc_setjmp, resulting in
it not getting executed after a longjmp. Fixes tmacnonlocalgoto on AArch64
with -O2 or higher.
2022-10-08 22:27:23 +02:00
florian
5b73fc4d0e
* marked parameters in ucomplex with const
2022-10-08 20:49:33 +02:00
Sven/Sarah Barth
188cac3bc6
* enable OpenStrings by default in mode Delphi
...
+ added test
2022-10-08 13:52:34 +02:00