Pierre Muller
219fedfea6
Restore start section at end of assembler block inside z80 asm reader
2023-05-15 19:51:11 +02:00
Pierre Muller
7c64bce04e
Set defdynlinker depending on selected ABI for riscv32 and riscv64
2023-05-11 16:21:05 +00:00
Pierre Muller
665670ae01
Add -EB or -EL paramter to xtensa assembler call (Warning: this requires a patched 2.40 release\!)
2023-05-11 01:02:04 +00:00
Pierre Muller
4750840e89
Specify endianess and abi when calling xtensa linker
2023-05-11 01:02:04 +00:00
Pierre Muller
60cff917ba
Only modify softfloat_exception_mask, as this is not handled equally for all CPUs with GetEXceptionMask/SetExceptionMask
2023-05-10 15:16:24 +01:00
Pierre Muller
24acfb8064
* Use correct sizeof to check if entry size is large enough
2023-05-10 07:38:28 +01:00
Pierre Muller
b53034705f
Use GetExceptionMask/SetExceptionMask to avoid floating point exception inside FPC_SOFT_FFPUX80 code
2023-05-06 10:03:26 +02:00
Pierre Muller
f720ea3a21
Restrict previous change to compilers that do not have 10-byte extended type
2023-05-04 22:54:59 +02:00
Pierre Muller
bb407aa135
Fix for tentryfile.getreal with FPC_SOFT_FPUX80, putreal still needs the same change
2023-05-04 00:23:30 +02:00
J. Gareth "Curious Kit" Moreton
e40996cd2c
* Fixed bug in "JccMovJmpMov2CMovCMov" optimisation where it didn't track registers in references getting changed
2023-04-30 22:25:55 +00:00
Pierre Muller
144ee6d51d
Add missing swaping in case of different endianess of stab entry inside TInternalAssembler.WriteStab
2023-04-30 21:23:06 +02:00
Pierre Muller
dc04a8a677
Fix storing of unaligned 64-bit to memory
2023-04-21 10:32:13 +01:00
Pierre Muller
aaf356ba9f
Avoid read past buffer end for empty source when checking for utf-8 signature
2023-04-12 20:10:44 +02:00
Pierre Muller
892220d6fe
Treat -Cb / -Cb- options in first pass (to be able to use FPC_BIG_ENDIAN inside .fpc.cfg config file)
2023-04-06 16:49:40 +02:00
Pierre Muller
2a4ca98e85
Use systems_darwin set for supported targets for as_clang_llvm_darwin
2023-04-06 14:40:15 +00:00
Pierre Muller
3855625b8d
Add tf_use_psabieh for LLVM for x86_64-iphonesim, aarch64-ios and aarch64-iphonesim targets
2023-04-05 00:01:03 -05:00
florian
a807144ead
* patch by Rika: Fix and possible simplification of SanitiseXMLString, part of #39800
2023-04-04 23:21:14 +02:00
florian
8f3cce556d
* some error messages use nicer symbol names
2023-04-01 22:34:37 +02:00
Nikolay Nikolov
4143912b72
* use a TFPList, instead of a dynamic array in twasmnodeutils.InsertObjectInfo.
...
No functional changes.
2023-04-01 17:17:42 +03:00
Nikolay Nikolov
e82c98bfce
* wasm32: generate module info by traversing through current_module and its
...
used_units list recursively. This should fix #40229
2023-04-01 04:25:15 +03:00
florian
e40f997a40
* another patch to fix #40223
2023-03-31 23:45:45 +02:00
Pierre Muller
644ffa8e7a
Do not always set DEBUG_AOPTCPU
2023-03-30 22:07:37 +00:00
florian
6663d5ca63
* do not replace index registers with esp/rsp, resolves #40223
2023-03-30 21:36:35 +02:00
Dmytro Bogatskyy
327aac7f24
Add aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
florian
b797bbf5dc
* spelling fixed
2023-03-26 15:55:37 +02:00
florian
466561f09f
* patch by Rika: Use Index* for pointer lists, resolves #40218
2023-03-25 21:32:29 +01:00
florian
3ad8b4199c
* patch by Rika: Shorten cutils.compareansistrings, resolves #40213
2023-03-24 22:50:19 +01:00
Jonas Maebe
12bde4e903
WPO: fix dead code detection, and handle procvars
...
Extend dead code detection to not only look for the main mangled name, but also
for any aliases before deciding that a routine has been dead-stripped.
Assume objects/classes can also be constructed if the address of one of their
constructors or of the TObject.NewInstance class method has been taken.
Resolves #40204
2023-03-24 21:22:18 +01:00
florian
8cd10d88cc
* revert use of DW_AT_external for types as this is not covered by the dwarf standard
2023-03-23 22:44:00 +01:00
florian
4848327300
* write types declared in the interface section with a DW_AT_external tag, should resolve #40210
2023-03-22 21:16:49 +01:00
florian
488c389b9b
+ support FILEEXISTS(...) in preprocessor expressions, resolves #39527
...
+ tests
* tscannerfile.readpreproc sets preproc_pattern correctly for quoted strings
2023-03-20 23:17:09 +01:00
florian
0d3ec87492
* also initalize default helper variables of initialization sections, resolves #40183
2023-03-19 21:19:10 +01:00
Jonas Maebe
0ea0b69a30
LLVM: cleaned up some comments
2023-03-18 23:14:25 +01:00
Jonas Maebe
e41bfa0495
LLVM: LLVM 16 support
...
No changes compared to LLVM 15 that affect us
2023-03-18 23:13:58 +01:00
Jonas Maebe
839849085b
LLVM: don't use type names in ctor/dtor arrays
...
Workaround for https://github.com/llvm/llvm-project/issues/56809
2023-03-18 23:13:03 +01:00
Jonas Maebe
0e46041717
WPO: also consider NewInstance to detect class instancing
...
Resolves #40200
2023-03-18 21:18:25 +01:00
florian
64319dc019
* PopCount takes care only of the bit pattern, so take the uvalue to avoid an internal error, resolves #40190
2023-03-17 22:30:36 +01:00
Sven/Sarah Barth
c1ecfc323a
* ensure that a procvar (especially a "REFERENCE TO") begins either with FUNCTION or PROCEDURE
...
+ added test
2023-03-15 23:39:59 +01:00
florian
7909f00c83
* project files updated
2023-03-15 23:01:44 +01:00
florian
2b0317f400
* compilation fixed with -Oodfa
2023-03-14 23:10:32 +01:00
florian
30cb20bccd
+ riscv32-freertos: first version of TlinkerFreeRTOS.GenerateDefaultLinkerScripts
2023-03-14 22:22:01 +01:00
J. Gareth "Curious Kit" Moreton
3f25438d35
* x86: TEST/Jcc/TEST optimisations can now look beyond the next instruction under -O3
2023-03-11 22:10:35 +00:00
J. Gareth "Curious Kit" Moreton
d372286159
* x86: RegModifiedByInstruction and RegInInstruction
...
are now more accurate for (I)MUL and (I)DIV.
2023-03-11 22:10:35 +00:00
J. Gareth "Curious Kit" Moreton
3635f7cd6f
* x86: Fixed oversight in RegModifiedByInstruction not checking W0, W1 and WU-type flags
2023-03-11 22:10:35 +00:00
J. Gareth "Curious Kit" Moreton
b637a3a022
* x86: Fix to MOV/CMP register deallocation positioning
2023-03-11 22:10:35 +00:00
ccrause
f83a8f0f8f
Only perform OpCp2Op optimization when the first Op is ANDI and comparison is against 0.
2023-03-09 18:19:20 +02:00
J. Gareth "Curious Kit" Moreton
77f53ebde3
* x86: The LEA/LEA optimisations can now work with a different
...
destination register and the intermediate register still in
use.
2023-03-08 21:54:41 +00:00
J. Gareth "Curious Kit" Moreton
931bda5633
* x86: LeaLea2Lea now handles cases where the second LEA instruction
...
has a second register in the reference.
2023-03-08 21:54:41 +00:00
florian
66ff7a928c
+ added debug messages
2023-03-08 22:54:17 +01:00
florian
99b01f6634
* second mul might get called with a zero operand if the other has a side effect,
...
handle this correctly in ti386addnode.second_mul64bit, resolves #40182
2023-03-06 23:19:34 +01:00