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
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
Jeppe Johansen
49ac4e0ed3
AVR: Add optimizations for sign testing, and a better Abs() implementation.
...
git-svn-id: trunk@42510 -
(cherry picked from commit 91016c97a4
)
2021-10-24 12:40:36 +02:00
nickysn
ddba821561
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
...
from cpubase unit to a method in the tcg class. The reason for doing that is
that this is now a standard part of the 16-bit and 8-bit code generators and
moving to the tcg class allows doing extra checks (not done yet, but for
example, in the future, we can keep track of whether there was an extra
register allocated with getintregister and halt with an internalerror in case
GetNextReg() is called for registers, which weren't allocated as a part of a
sequence, therefore catching a certain class of 8-bit and 16-bit code
generator bugs at compile time, instead of generating wrong code).
- removed GetLastReg() from avr's cpubase unit, because it isn't used for
anything. It might be added to the tcg class, in case it's ever needed, but
for now I've left it out.
* GetOffsetReg() and GetOffsetReg64() were also moved to the tcg unit.
git-svn-id: trunk@37180 -
2017-09-11 14:53:06 +00:00
pierre
89c1b68b14
* Delete regvars unit.
...
This unit was empty unless OLDREGVARS macro was set,
but this does not compile and no change has been made since 2011.
* Remove regvars from all _USES clauses.
git-svn-id: trunk@34808 -
2016-11-06 14:01:39 +00:00
florian
d014572b8e
* do not use an extra register, if CPC does a comparison with 0,
...
this was previously "fixed" by the peephole optimizer, but this increased
register pressure
git-svn-id: trunk@31239 -
2015-07-27 19:49:05 +00:00
florian
df999735f3
* use R1 in comparisons if left=0 instead of loading 0 into (a) register(s)
...
git-svn-id: trunk@31238 -
2015-07-27 19:49:03 +00:00
florian
d3fbfa225f
* fixes ordinal comparisons with constants
...
git-svn-id: trunk@30751 -
2015-05-01 16:30:21 +00:00
florian
1f20a52c85
* fix typo in comparison with constant code
...
git-svn-id: trunk@30556 -
2015-04-12 15:42:40 +00:00
florian
276d97f653
* generate better code for comparisons with constants
...
git-svn-id: trunk@30543 -
2015-04-11 13:52:29 +00:00
Jeppe Johansen
7fe4b13248
Fix broken peephole optimization that was testing the wrong register for modifications.
...
Fix tests on unsigned values. The flags were swapped.
git-svn-id: trunk@30392 -
2015-03-30 11:17:38 +00:00
Károly Balogh
0cf7357ee2
* fix GetResFlags DFA optimizer warning on Sparc and AVR too
...
git-svn-id: trunk@28500 -
2014-08-20 13:52:28 +00:00
Jonas Maebe
e7ac66a6c4
* removed nested comments
...
git-svn-id: trunk@28457 -
2014-08-18 22:34:35 +00:00
florian
ecd0749d73
* class name in comment fixed
...
git-svn-id: trunk@22835 -
2012-10-23 20:14:34 +00:00
florian
f76ba05758
* avoid useless GetNextReg calls in second_cmp for avr
...
git-svn-id: trunk@22834 -
2012-10-23 20:13:28 +00:00
florian
eb2a2a5ea0
+ implements tavraddnode.second_cmpsmallset
...
git-svn-id: branches/avr@17295 -
2011-04-10 18:52:56 +00:00
florian
a0b0b43d0c
+ implemented tcgavr.a_jmp_name
...
* updated todos
git-svn-id: branches/avr@17287 -
2011-04-10 18:37:26 +00:00
florian
c7e6d07ff0
* fix tavraddnode.second_cmp
...
* optimized register usage
+ implemented concatcopy for len<16
git-svn-id: branches/avr@17106 -
2011-03-09 19:46:05 +00:00
florian
d060e199f4
* 64 bit comparisations fixed
...
git-svn-id: branches/avr@17043 -
2011-02-27 21:08:44 +00:00
florian
ef699b1864
+ avr flag and condition handling
...
git-svn-id: trunk@17016 -
2011-02-26 20:15:03 +00:00
florian
9856e548ed
* avr stuff, work in progress
...
git-svn-id: trunk@13444 -
2009-07-25 19:31:06 +00:00
florian
07182fba98
* continued work on avr-embedded
...
git-svn-id: trunk@11575 -
2008-08-14 14:23:25 +00:00
florian
f28636ac5b
+ dummy navradd unit
...
git-svn-id: trunk@10328 -
2008-02-14 20:40:18 +00:00