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
c9fce8b742
* AVR: take care of CPUAVR_HAS_MOVW in assembler routines
...
git-svn-id: trunk@44131 -
(cherry picked from commit 925979c6e4
)
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
florian
8d1eeea942
* actually, with lds/sts avrtiny can load addresses up to 191
...
git-svn-id: trunk@44104 -
(cherry picked from commit 640fe9c290
)
2021-10-24 12:40:37 +02:00
florian
dd2212e1f7
* based on a patch by Christo Crause: more compiler fixes for avrtiny, resolves #36646
...
git-svn-id: trunk@44103 -
(cherry picked from commit 36058ca4d4
)
2021-10-24 12:40:37 +02:00
florian
be4c56a05c
* patch by Christo Crause: fix startup code for avrtiny subarch, resolves #36650
...
git-svn-id: trunk@44100 -
(cherry picked from commit 7d283f530e
)
2021-10-24 12:40:37 +02:00
florian
61c6c04f71
+ patch by Christo Crause: Support for attiny10x controllers, resolves #36645
...
git-svn-id: trunk@44081 -
(cherry picked from commit 00214406bc
)
# Conflicts:
# .gitattributes
2021-10-24 12:40:37 +02:00
florian
ea2a93731d
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 3/3
...
git-svn-id: trunk@44038 -
(cherry picked from commit 9d91d680fb
)
# Conflicts:
# .gitattributes
2021-10-24 12:40:37 +02:00
florian
fd5614576f
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 2/3
...
git-svn-id: trunk@44037 -
(cherry picked from commit 7892e3f7b7
)
# Conflicts:
# .gitattributes
2021-10-24 12:40:37 +02:00
florian
0dc7bfde42
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 1/3
...
git-svn-id: trunk@44036 -
(cherry picked from commit 670c61e760
)
2021-10-24 12:40:37 +02:00
florian
3ee32648c0
* system unit can be build for subarch avrtiny
...
git-svn-id: trunk@44032 -
(cherry picked from commit 17c4834a4a
)
2021-10-24 12:40:37 +02:00
florian
4f5b872098
* patch by Christo Crause: avrtiny26 controller is not subarch avr25 but avr2, resolves #36620
...
git-svn-id: trunk@44021 -
(cherry picked from commit d2a059bd02
)
2021-10-24 12:40:37 +02:00
florian
0a66f8f1dd
* patch by Christo Crause: Correct subarch for avrtiny series in compiler, resolves #36619
...
git-svn-id: trunk@44020 -
(cherry picked from commit 3ab8830b83
)
2021-10-24 12:40:37 +02:00
florian
8917c66151
* AVR: use CP ...,r1 instead of CPI ...,0 to enable all registers being used as first operand
...
git-svn-id: trunk@44006 -
(cherry picked from commit 08c2afb0a4
)
2021-10-24 12:40:37 +02:00
florian
ce336a08c5
* omit first not, helps the reg. allocator to find a workable colouring, resolves #36611
...
git-svn-id: trunk@44005 -
(cherry picked from commit ae8d2dc69a
)
2021-10-24 12:40:37 +02:00
florian
23d26d495f
* AVR: attiny can do post increment operations, so remove code working around this
...
git-svn-id: trunk@43996 -
(cherry picked from commit 429130fa34
)
2021-10-24 12:40:37 +02:00
florian
6d2880e809
* AVR: do not insert jmp if not supported
...
git-svn-id: trunk@43995 -
(cherry picked from commit bd96765632
)
2021-10-24 12:40:37 +02:00
florian
0add128d7b
+ AVR: initial support of the avrtiny architecture in the rtl
...
git-svn-id: trunk@43988 -
(cherry picked from commit 28391e04bc
)
2021-10-24 12:40:37 +02:00
florian
bee41253bd
+ AVR: initial support for the avrtiny architecture
...
git-svn-id: trunk@43987 -
(cherry picked from commit 2d9cdab264
)
2021-10-24 12:40:37 +02:00
florian
150fac54cb
* changes shift parameter of shift helpers into ALUUInt, as there is an "and" used anyways, this does not change semantics but reduces register pressure on 8 bit targets
...
git-svn-id: trunk@42200 -
(cherry picked from commit f92b8d1681
)
2021-10-24 12:40:37 +02:00
florian
4a73c31c82
* AVR: tcgavr.normalize_ref must always load the reference into tmpreg
...
git-svn-id: trunk@43986 -
(cherry picked from commit f629fa1bb9
)
2021-10-24 12:40:37 +02:00
florian
a9bbcccb5d
+ AVR: GetDefaultZeroReg and GetDefaultTmpReg
...
git-svn-id: trunk@43985 -
(cherry picked from commit 26eae3672b
)
# Conflicts:
# compiler/avr/cpubase.pas
2021-10-24 12:40:37 +02:00
florian
cda78c398f
+ AVR: cputype cpu_avrtiny
...
git-svn-id: trunk@43984 -
(cherry picked from commit aaa6ae5770
)
2021-10-24 12:40:37 +02:00
florian
3328f991c7
* AVR: fixes pushing and handling of stack passed parameters
...
git-svn-id: trunk@43983 -
(cherry picked from commit 96a4cda03b
)
2021-10-24 12:40:37 +02:00
florian
fbb3fe56a9
* AVR: fixed TDwarfAsmCFILowLevel.generate_initial_instructions
...
git-svn-id: trunk@43982 -
(cherry picked from commit 6f434b6751
)
2021-10-24 12:40:37 +02:00
florian
201a89504e
* patch by Christo Crause: reg. allocation information if non-volatile registers
...
are used for parameter passing as it is might happen on avr, resolves #36079
git-svn-id: trunk@43390 -
(cherry picked from commit fabe4cc067
)
# Conflicts:
# .gitattributes
2021-10-24 12:40:37 +02:00
florian
b04f398d27
* avr: help the compiler with constant loading to avoid ie 200309041
...
git-svn-id: trunk@43350 -
(cherry picked from commit 701848889e
)
2021-10-24 12:40:37 +02:00