Karoly Balogh
25166cf7ca
build fix of ppudump after 313643ea1c
2022-03-24 09:56:43 +01:00
Pierre Muller
313643ea1c
Add trunk only system_CPU_OS values to ensure that the same integervlaue is uused for system_aarch64_darwin
2022-03-24 07:25:51 +00:00
Jonas Maebe
6827c4810d
PPC64: fix wrong ifdef for SYSV ABI
...
The TOC is used by PPC64, not by PPC32. Resolves #39571
(cherry picked from commit 14289173bb
)
2022-03-20 13:45:16 +01:00
Jonas Maebe
076c9b06c1
PPC64: don't save TOC in pure assembler routines
...
Fix by Pierre
(cherry picked from commit 0fcc57fb4b
)
2022-03-20 13:45:16 +01:00
Jonas Maebe
89bf3fe5ea
PowerPC32 SysV: fix abis_ppc_toc declaration
...
No TOC on those platforms (as mentioned in tcgppcgen.get_rtoc_offset), so also
exclude from this constant
(cherry picked from commit 2ee45c7ed8
)
2022-03-20 13:45:15 +01:00
Jonas Maebe
04717861ac
TOC handling: clean up
...
Also fix on 32 bits PowerPC
(cherry picked from commit 629c1de460
)
2022-03-20 13:45:15 +01:00
florian
c565900c41
* patch by J. Gareth Moreton: handle register allocations correctly in MovMov2Mov 3, resolves #38703
...
git-svn-id: trunk@49128 -
(cherry picked from commit 503fc85dff
)
2022-03-13 19:07:52 +01:00
Jonas Maebe
3ac4270c23
ppc platforms: fix missing TOC restoration room
...
PPC platforms that use a TOC can never use a tail call to call a different
routine that potentially accesses globals, as it may use a different TOC and
then the linker must be able to insert an instruction after the branch to
restore the original TOC register value on "return". Even if FPC code itself
does not use the TOC register, it's still required since
1) the linker does not know this, and
2) the FPC code might still be called from other code that does use it
(cherry picked from commit 68b5ca633c
)
2022-03-04 21:33:08 +01:00
Jonas Maebe
edbe69c3ef
ppc64: fix rtoc handling
...
Save on procedure entry if it performs a call, rather than (only) before every
indirect call
(cherry picked from commit 83c18df69a
)
2022-03-04 21:33:08 +01:00
florian
59b078fce3
* compilation hopefully fixed
...
(cherry picked from commit 9314bbbf08
)
2022-03-04 21:33:08 +01:00
Jonas Maebe
73e8d5b39e
Linux/PPC64: fix missing TOC loads
...
Routines loading a global symbol need the TOC register
(cherry picked from commit 2de72c8541
)
2022-03-04 21:33:08 +01:00
florian
084e3e7b9a
* use high level interface wrappers for powerpc64 if pic is generated as the abi does not support branches between functions located in different tocs which might happen for inter-module branches
...
(cherry picked from commit 12f48c230b
)
2022-03-04 21:33:08 +01:00
Jonas Maebe
1c3fc6e2df
* don't convert the fpu parameters size from tcgsize -> int -> float_tcgsize
...
if not required, to avoid translating OS_C64 into OS_F64 (fix for x86
test failures after r45205)
git-svn-id: trunk@45221 -
(cherry picked from commit 3f6ad30b69
)
2022-02-13 12:02:28 +01:00
Jonas Maebe
8a31764a7b
* support floating point parameters split over multiple locations, including
...
integer registers, for homogeneous records/arrays on ppc64le (related to
mantis #36934 )
git-svn-id: trunk@45205 -
(cherry picked from commit 722ad1ff7b
)
2022-02-13 12:01:36 +01:00
Jonas Maebe
28b2b299da
* ppc64le: fix storing homogeneous 64 bit float parameters in case they are
...
split over just FPU registers and memory (related to mantis #36934 )
git-svn-id: trunk@45204 -
(cherry picked from commit 05923af386
)
2022-02-13 12:01:14 +01:00
florian
3ef2ab1019
* cleaning up tcgsize: it makes no sense to declare every combination and type
...
the different vector types must be either handled in the high level cg or
by using the shuffle parameter
git-svn-id: trunk@43860 -
(cherry picked from commit b7c6e01b03
)
2022-02-13 12:00:45 +01:00
Sven Barth
6279283ce1
* fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field:
...
- initialize the returned def to a safe default
- correctly reset the found symbol for each loop
- reset the result when descending into a record
+ added test
(cherry picked from commit efd0c250df
)
2022-01-30 22:42:10 +01:00
Pierre Muller
90301426fc
Avoid use of fastmath optimization inside compiler
...
(cherry picked from commit 91f29419a5
)
2022-01-27 00:08:50 +01:00
Florian Klämpfl
8731c5f7fd
* message files regenerated
2022-01-23 17:58:24 +01:00
Florian Klämpfl
5cd1c4f5bc
* manually fix unwanted stripping of exception frame info based on a patch by Gareth J. Moreton
2022-01-23 17:32:40 +01:00
marcoonthegit
08bb8c8dfc
* fixed spelling error implicitEly in errore.msg, regenned msg.
...
(cherry picked from commit 45840da4dd
)
2022-01-22 18:09:05 +01:00
pierre
34a9cc229f
Second trial to fix commit 48688
...
git-svn-id: trunk@48691 -
(cherry picked from commit acf2567bda
)
2022-01-16 17:14:14 +00:00
pierre
39ba1c39be
Fix previous commit 48688 to avoid accessing 'invalid' positions in sym.value.valueptr
...
git-svn-id: trunk@48689 -
(cherry picked from commit 34fd36f817
)
2022-01-16 17:13:58 +00:00
pierre
09f6a2ad0c
Avoid writing characters after sym.value.len for conststring constant symbols
...
git-svn-id: trunk@48688 -
(cherry picked from commit 6a408fe97e
)
2022-01-16 17:13:48 +00:00
florian
7c7f2cfdea
* pass float abi always to the arm assembler
...
git-svn-id: trunk@39996 -
(cherry picked from commit 2cbb9895be
)
2022-01-10 22:29:44 +01:00
florian
d63ad582a7
* cherry picked commit did not compile, fixing it, resolves #24863
2022-01-08 23:06:11 +01:00
florian
5a17765841
* if a variant is read/written, include the variants unit
...
git-svn-id: trunk@47459 -
(cherry picked from commit bcdfd07bdd
)
2022-01-08 22:55:18 +01:00
florian
c0f20e0e5f
* do not join register deallocations/allocations as it makes no use and causes later on trouble in
...
the assembler optimizer as register allocations are not correct, resolves #33565
(cherry picked from commit c6659d62f8
)
# Conflicts:
# .gitattributes
2021-11-28 15:22:20 +01:00
florian
a76d096254
* workaround missing optimizer capabilites of the fixes branch to fix avr compilation with -CriotR
2021-11-21 22:57:24 +01:00
svenbarth
8b21bf1cce
* fix writing of the method and parameter names for the Variant call description
...
git-svn-id: trunk@49479 -
(cherry picked from commit 7330a0156c
)
2021-11-14 11:41:56 +01:00
Jonas Maebe
383c4a8e04
iphonesim: use ios_simulator_version_min
...
The linker expects ios_simulator_version_min rather than -iphoneos_version_min
when targeting the iOS simulator platform. Fixes compilation with Xcode 11
toolchains, which is more strict about this.
(cherry picked from commit 3263e12a3e
)
2021-10-30 17:12:29 +02:00
Jonas Maebe
29d0a2a70a
iphonesim target: requires proper alignment
...
Just like the native iOS targets
(cherry picked from commit 334cf9c19d
)
2021-10-30 17:12:29 +02:00
florian
d9cb4be507
* last commit was wrong
2021-10-24 13:57:27 +02:00
florian
62875030b5
* hopefully i8086 compilation fixed
2021-10-24 13:50:48 +02:00
florian
feb9274963
* fix tcgobj.a_op_reg_ref and tcgobj.a_op_ref_reg after recent avr related merges
2021-10-24 12:40:38 +02:00
nickysn
c9d2028ebd
* handle LOC_(C)SUBSETREG/REF in second_NegNot_assign
...
* changed the way OP_NEG and OP_NOT are handled in op_reg_ref, in order to be
consistent with op_reg_reg
* introduced op_reg,op_ref,op_subsetreg,op_subsetref and op_loc for the unary
operations only (OP_NEG,OP_NOT)
git-svn-id: trunk@45302 -
(cherry picked from commit 0f6ab0de17
)
# Conflicts:
# compiler/cgobj.pas
2021-10-24 12:40:38 +02:00
florian
3b8df7736c
* patch by Christo Crause: Passing a file name with extension to cross compiler
...
with -o causes error, fixed, resolves #36562
git-svn-id: trunk@43921 -
(cherry picked from commit 9926eb8dc6
)
# Conflicts:
# compiler/systems/t_embed.pas
2021-10-24 12:40:38 +02:00
Jeppe Johansen
38576b4830
* Add support for generating map files for embedded target.
...
git-svn-id: trunk@43866 -
(cherry picked from commit 89a961f960
)
2021-10-24 12:40:38 +02:00
florian
d2d1c30b53
* patch by Christo Crause, resolves #38961 , fixes the following formatting and spelling problems in the AVR compiler files:
...
- Change spelling of AM_PREDRECEMENT to AM_PREDECREMENT
- Fix multiline comment style to use {}
- Fix indenting of code in method tcgavr.g_concatcopy
git-svn-id: trunk@49474 -
(cherry picked from commit aec49340a3
)
2021-10-24 12:40:38 +02:00
florian
6a653c298c
* patch by Christo Crause: do not generate LDD for avrtiny, resolves #38958
...
git-svn-id: trunk@49473 -
(cherry picked from commit 9d6ceda532
)
2021-10-24 12:40:38 +02:00
florian
235c82feaa
+ AVR: MovOp2Op 2 optimization
...
git-svn-id: trunk@49350 -
(cherry picked from commit 9bfc731bb6
)
2021-10-24 12:40:38 +02:00
florian
e168707f5b
* patch by Christo Crause: handle references to absolute address 0 correctly, resolves #38861
...
git-svn-id: trunk@49344 -
(cherry picked from commit 5e1e6c24a4
)
2021-10-24 12:40:38 +02:00
florian
1333d5aea8
+ patch by Dimitrios Chr. Ioannidis: include dwar-3 sections in avr-embedded linker script
...
git-svn-id: trunk@48659 -
(cherry picked from commit 98a748bdd6
)
2021-10-24 12:40:38 +02:00
florian
0049abce42
* fix proposed by Christo Crause: properly handle pointer constant nodes on avr, resolves #38321
...
git-svn-id: trunk@48095 -
(cherry picked from commit 6d75992674
)
2021-10-24 12:40:38 +02:00
florian
99588969b9
* patch by Christo Crause: Fix missed optimization opportunities, resolves #38285
...
git-svn-id: trunk@47925 -
(cherry picked from commit 3482121831
)
2021-10-24 12:40:38 +02:00
florian
d75fb82753
* do not reuse a loaded reference for avrtiny in a_op_const*, resolves #38142
...
git-svn-id: trunk@47612 -
(cherry picked from commit eb098a3d11
)
# Conflicts:
# compiler/cgobj.pas
2021-10-24 12:40:38 +02:00
florian
af4eb12b43
* patch by Christo Crause to fix illegal ldd generation for avrtiny, resolves #37929
...
git-svn-id: trunk@47118 -
(cherry picked from commit fa54335938
)
2021-10-24 12:40:38 +02:00
florian
64ff162e3f
* patch by Christo Crause: r0, r1 are no volatile registers for avr tiny
...
git-svn-id: trunk@47102 -
(cherry picked from commit b8c707ed7e
)
2021-10-24 12:40:37 +02:00
florian
35b2d80271
* avr: patch by Christo Crause: replace findreg_by_gasname with gas_regname_table, resolves #37131
...
git-svn-id: trunk@45509 -
(cherry picked from commit 37a3b542e6
)
2021-10-24 12:40:37 +02:00
nickysn
34eb9ade91
* fix for OP_ROR in tcgavr.a_op_reg_reg_internal
...
git-svn-id: trunk@44749 -
(cherry picked from commit 599b7e80c0
)
2021-10-24 12:40:37 +02:00