Commit Graph

407 Commits

Author SHA1 Message Date
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
florian
84cfa8d9b0 * AVR: for avr1 lds/sts must be converted to in/out as well if possible
git-svn-id: trunk@44138 -
2020-02-09 13:55:25 +00:00
florian
297d6e2c60 * patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
git-svn-id: trunk@44136 -
2020-02-09 10:51:14 +00:00
florian
a905a074b0 * 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 -
2020-02-08 22:05:21 +00:00
florian
dea63e3d61 * AVR: attiny28 is an avr1 CPU
git-svn-id: trunk@44132 -
2020-02-08 22:05:21 +00:00
florian
04ad607bb4 * patch by Christo Crause: more AVR controllers, resolves #36683
git-svn-id: trunk@44130 -
2020-02-08 20:43:22 +00:00
florian
5040e31f11 * patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
git-svn-id: trunk@44128 -
2020-02-07 19:48:46 +00:00
florian
e033269deb * patch by Christo Craus to reorder the avr controllers for better overview, resolves #36662
git-svn-id: trunk@44124 -
2020-02-06 21:10:09 +00:00
florian
4fe21a8e1a * patch by Christo Crause: board aliases to onboard controllers, resolves #36659
git-svn-id: trunk@44111 -
2020-02-04 21:14:14 +00:00
florian
640fe9c290 * actually, with lds/sts avrtiny can load addresses up to 191
git-svn-id: trunk@44104 -
2020-02-02 20:41:28 +00:00
florian
36058ca4d4 * based on a patch by Christo Crause: more compiler fixes for avrtiny, resolves #36646
git-svn-id: trunk@44103 -
2020-02-02 20:35:29 +00:00
florian
00214406bc + patch by Christo Crause: Support for attiny10x controllers, resolves #36645
git-svn-id: trunk@44081 -
2020-02-01 15:54:57 +00:00
Jonas Maebe
592df7fa59 * disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
that itself, our LLVM code generator can't handle it, and if it did then
    afterwards we would have to spill 90% of those register variables again
    to make them SSA)

git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
florian
670c61e760 * patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616, part 1/3
git-svn-id: trunk@44036 -
2020-01-26 14:35:26 +00:00
florian
d2a059bd02 * patch by Christo Crause: avrtiny26 controller is not subarch avr25 but avr2, resolves #36620
git-svn-id: trunk@44021 -
2020-01-22 20:41:24 +00:00
florian
3ab8830b83 * patch by Christo Crause: Correct subarch for avrtiny series in compiler, resolves #36619
git-svn-id: trunk@44020 -
2020-01-22 20:34:43 +00:00
florian
08c2afb0a4 * AVR: use CP ...,r1 instead of CPI ...,0 to enable all registers being used as first operand
git-svn-id: trunk@44006 -
2020-01-20 21:14:28 +00:00