Commit Graph

21537 Commits

Author SHA1 Message Date
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
florian
9872a8a57a * AVR: couple of fixes for CPUs with only 16 registers
git-svn-id: trunk@44177 -
(cherry picked from commit fc50edfe31)
2021-10-24 12:40:37 +02:00
florian
265783c4b5 * remove accidently committed debug code
git-svn-id: trunk@44175 -
(cherry picked from commit 0424c2a658)
2021-10-24 12:40:37 +02:00
florian
b65e3288aa * patch by Christo Crause: combine code paths for avr1 and avrtiny when converting lds/sts to in/out, resolves #36697
git-svn-id: trunk@44163 -
(cherry picked from commit fd4fb5fa19)
2021-10-24 12:40:37 +02:00
florian
32e17c5114 * for avr1, do not save registers during an interrupt procedure, as it has no memory to store them
git-svn-id: trunk@44139 -
(cherry picked from commit 2135b9b724)

# Conflicts:
#	compiler/msg/errore.msg
#	compiler/msgidx.inc
#	compiler/msgtxt.inc
2021-10-24 12:40:37 +02:00
florian
438c971460 * AVR: for avr1 lds/sts must be converted to in/out as well if possible
git-svn-id: trunk@44138 -
(cherry picked from commit 84cfa8d9b0)
2021-10-24 12:40:37 +02:00
florian
a589637b1d * patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
git-svn-id: trunk@44136 -
(cherry picked from commit 297d6e2c60)

# Conflicts:
#	.gitattributes
2021-10-24 12:40:37 +02:00
florian
54a6784e85 * AVR: decide after compiler if a certain subroutine is suitable for avr1, if not, replace it by sleep and warn
git-svn-id: trunk@44133 -
(cherry picked from commit a905a074b0)

# Conflicts:
#	compiler/msg/errore.msg
#	compiler/msgidx.inc
#	compiler/msgtxt.inc
2021-10-24 12:40:37 +02:00
florian
b77b0df3bd * AVR: attiny28 is an avr1 CPU
git-svn-id: trunk@44132 -
(cherry picked from commit dea63e3d61)
2021-10-24 12:40:37 +02:00
florian
3cb2cff444 * patch by Christo Crause: more AVR controllers, resolves #36683
git-svn-id: trunk@44130 -
(cherry picked from commit 04ad607bb4)

# Conflicts:
#	.gitattributes
2021-10-24 12:40:37 +02:00
florian
a124adb9a7 * patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
git-svn-id: trunk@44128 -
(cherry picked from commit 5040e31f11)

# Conflicts:
#	.gitattributes
2021-10-24 12:40:37 +02:00
florian
5e4de7277a * patch by Christo Craus to reorder the avr controllers for better overview, resolves #36662
git-svn-id: trunk@44124 -
(cherry picked from commit e033269deb)
2021-10-24 12:40:37 +02:00
florian
104cb227d4 * patch by Christo Crause: board aliases to onboard controllers, resolves #36659
git-svn-id: trunk@44111 -
(cherry picked from commit 4fe21a8e1a)
2021-10-24 12:40:37 +02:00