ccrause
7822a90e20
Increase reference count of jump label, fixes #39784
2022-06-18 12:28:36 +00:00
florian
e28b76a64e
* avr tiny has no adiw/sbiw instructions, resolves #39783
2022-06-16 23:01:47 +02:00
florian
bce88f2e2b
* AVR: trgcpu.do_spill_read must load ofs
2022-05-05 19:35:38 +02:00
florian
0ae45bd2cf
+ AVR: track flag usage
...
+ AVR: take care of allocated flags when spilling
* AVR: trgcpu.do_spill_read might also use ADIW
2022-05-01 22:42:57 +02:00
florian
038230bbea
* AVR: use adiw to create spilling constants if possible
...
* AVR: insert allocations for registers used by spilling so the assembler optimizer does not remove spilling code
2022-05-01 22:42:57 +02:00
florian
46b52d92d3
+ AVR: helpers take care of ADIW
2022-05-01 22:42:57 +02:00
florian
5d97ff43fa
+ CPUAVR_HAS_ADIW
2022-04-29 23:06:17 +02:00
florian
314d3579fc
* avr3 and avr31 should also have a movw instruction
2022-04-29 23:06:17 +02:00
florian
33eef1f9b1
* AVR: moved MovMov2Movw optimization into pass2 as it might prevent other optimizations
2022-04-25 22:18:37 +02:00
florian
9695dba4d9
* AVR: fix TCpuAsmOptimizer.InstructionLoadsFromReg for MOVW
...
* simplify code for MovMov2Movw optimization
2022-04-24 22:42:09 +02:00
florian
49edb0b606
* AVR: fix TAoptBaseCpu.RegModifiedByInstruction, resolves #39623
2022-04-24 22:41:10 +02:00
florian
e87c52d7dc
* otherwise => else
2022-04-24 22:40:07 +02:00
ccrause
6df2eb5fd4
Extra code generation options for shift with compile time constant.
2022-03-30 20:48:52 +00:00
florian
27fb9086aa
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
florian
6f749cf43d
* first part to fix #39603
2022-02-27 23:20:07 +01:00
florian
ff3acfb8cd
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01:00
florian
c28995494c
* reverted wrongly committed file
2021-09-01 09:31:14 +02:00
florian
9526fc64cd
+ Aarch64: FMovFMov2FMov 2 optimization
2021-09-01 09:31:14 +02:00
florian
7a8893396d
* revert last commit, avr4 has no call/jmp
...
git-svn-id: trunk@49620 -
2021-07-18 21:47:22 +00:00
florian
eb96734b20
* avr4 has mul instructions
...
git-svn-id: trunk@49619 -
2021-07-18 21:41:57 +00:00
florian
aec49340a3
* 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 -
2021-06-04 20:16:25 +00:00
florian
9d6ceda532
* patch by Christo Crause: do not generate LDD for avrtiny, resolves #38958
...
git-svn-id: trunk@49473 -
2021-06-03 18:48:40 +00:00
florian
c43d8e4adf
* indention fixed
...
git-svn-id: trunk@49379 -
2021-05-18 19:13:49 +00:00
florian
430b2fd791
* AVR: second part of assembler optimizer rework
...
git-svn-id: trunk@49378 -
2021-05-18 19:13:13 +00:00
florian
6f1d965dac
* first part of AVR assembler optimizer reword
...
git-svn-id: trunk@49377 -
2021-05-17 20:02:12 +00:00
florian
bc21634b46
* AVR: made avr_des intrinsic more usefull
...
git-svn-id: trunk@49362 -
2021-05-13 18:59:28 +00:00
florian
022a9b210f
+ AVR: avr_des intrinsic
...
git-svn-id: trunk@49353 -
2021-05-13 09:26:53 +00:00
florian
9bfc731bb6
+ AVR: MovOp2Op 2 optimization
...
git-svn-id: trunk@49350 -
2021-05-12 19:20:10 +00:00
florian
5e1e6c24a4
* patch by Christo Crause: handle references to absolute address 0 correctly, resolves #38861
...
git-svn-id: trunk@49344 -
2021-05-07 16:19:05 +00:00
florian
05cf47f995
* AVR: fixed TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@49126 -
2021-04-06 11:49:48 +00:00
yury
4fa99cff62
* Removed more assigned but unused vars.
...
git-svn-id: trunk@48392 -
2021-01-24 14:05:21 +00:00
yury
0a021be803
* Corrected visibility of overridden methods.
...
git-svn-id: trunk@48385 -
2021-01-24 12:41:12 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
florian
3482121831
* patch by Christo Crause: Fix missed optimization opportunities, resolves #38285
...
git-svn-id: trunk@47925 -
2020-12-31 15:33:39 +00:00
florian
fa54335938
* patch by Christo Crause to fix illegal ldd generation for avrtiny, resolves #37929
...
git-svn-id: trunk@47118 -
2020-10-16 20:01:40 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
florian
b8c707ed7e
* patch by Christo Crause: r0, r1 are no volatile registers for avr tiny
...
git-svn-id: trunk@47102 -
2020-10-12 19:43:24 +00:00
florian
e47f44234c
* AVR: MovMov2Mov 2 optimization
...
git-svn-id: trunk@47035 -
2020-10-02 20:13:17 +00:00
florian
28f25b2df0
* reworked usage of tcgnotnode.handle_locjump
...
git-svn-id: trunk@46275 -
2020-08-05 21:15:32 +00:00
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
florian
37a3b542e6
* avr: patch by Christo Crause: replace findreg_by_gasname with gas_regname_table, resolves #37131
...
git-svn-id: trunk@45509 -
2020-05-26 19:52:19 +00:00
nickysn
29d681168a
* merged the z80 branch
...
git-svn-id: trunk@45143 -
2020-04-27 20:07:54 +00:00
florian
a084c8829f
* patch by J. Gareth Moreton: refactor RemoveCurrentP
...
git-svn-id: trunk@45142 -
2020-04-27 19:27:16 +00:00
nickysn
3d81dd0b00
* ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
...
label length limit
git-svn-id: branches/z80@45085 -
2020-04-26 10:42:07 +00:00
nickysn
a8fe46c0f5
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
...
output label to that length
git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
nickysn
599b7e80c0
* fix for OP_ROR in tcgavr.a_op_reg_reg_internal
...
git-svn-id: trunk@44749 -
2020-04-17 17:19:22 +00:00
florian
fc50edfe31
* AVR: couple of fixes for CPUs with only 16 registers
...
git-svn-id: trunk@44177 -
2020-02-14 21:27:43 +00:00
florian
0424c2a658
* remove accidently committed debug code
...
git-svn-id: trunk@44175 -
2020-02-14 20:59:32 +00:00
florian
fd4fb5fa19
* 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 -
2020-02-12 20:43:13 +00:00
florian
2135b9b724
* for avr1, do not save registers during an interrupt procedure, as it has no memory to store them
...
git-svn-id: trunk@44139 -
2020-02-09 14:35:56 +00:00