Jeppe Johansen
|
159c28eca8
Fix AVR comparison with zero.
|
9 gadi atpakaļ |
Jeppe Johansen
|
5ec4d38231
Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence.
|
9 gadi atpakaļ |
Jeppe Johansen
|
14020b044c
Fix bug in gen_load_cgpara_loc for 64bit registers on 8bit architectures.
|
9 gadi atpakaļ |
Jeppe Johansen
|
1a285a7d24
Fixed an off-by-one error in a_load_const_cgpara which caused some problems.
|
9 gadi atpakaļ |
Jeppe Johansen
|
7fc3ed2644
Fix a broken OpCp2Op optimization. It needed the added NR_DEFAULTFLAGS allocation to not break subsequent optimizations.
|
9 gadi atpakaļ |
florian
|
af6ffd751f
+ generate optimized code for shifts/rotates by constants
|
10 gadi atpakaļ |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 gadi atpakaļ |
florian
|
9a5b458d4e
* allocate registers properly before icall
|
10 gadi atpakaļ |
florian
|
5c8d0d87cd
o better code generation for avr:
|
10 gadi atpakaļ |
florian
|
1969abec77
* improved code generation in a_op_const_reg_internal and a_op_const_reg_reg
|
10 gadi atpakaļ |
florian
|
7f1585b99a
* do not save registers for subroutines which never return
|
10 gadi atpakaļ |
florian
|
9e51283ae0
+ initial a_op_const_reg_reg and a_op_reg_reg_reg implementations to generate optimized 16 Bit multiplications on avr
|
10 gadi atpakaļ |
florian
|
8b7a449cf1
* clear r1 after 8 Bit multiplication, resolves #27838
|
10 gadi atpakaļ |
florian
|
4d01271944
* due to avr's harvard architecture, loads of code labels need to use the gs(...) macro
|
10 gadi atpakaļ |
florian
|
bd803769b8
* fix compilation
|
10 gadi atpakaļ |
florian
|
9559dabe51
* function result is in r24:r25
|
10 gadi atpakaļ |
florian
|
1ef7e36f3c
* some fixes for handling parameters passed on the stack
|
10 gadi atpakaļ |
florian
|
03fa8336de
o several avr fixes
|
10 gadi atpakaļ |
florian
|
6a032bee1b
* improved code generation for a_load_const_reg and a_op_const_reg
|
10 gadi atpakaļ |
florian
|
63bf17440c
* use volatile registers first
|
10 gadi atpakaļ |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 gadi atpakaļ |
Jeppe Johansen
|
8c105d4c97
Fix off by 8 error.
|
10 gadi atpakaļ |
florian
|
873d88ba57
* fix 8 Bit*8 Bit multiplication according to #27737 using modified code supplied by Georg Hieber
|
10 gadi atpakaļ |
florian
|
ad995eb121
* use correctly CALL/RCALL and JMP/RJMP on avr, resolves #27738
|
10 gadi atpakaļ |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 gadi atpakaļ |
sergei
|
e4fea2ebc8
* Dummy implementations of a_bit_scan_reg_reg and g_stackpointer_alloc in tcg, removes the need to override these methods in every descendant code generator solely to avoid "constructing a class with abstract method" warning.
|
11 gadi atpakaļ |
Jeppe Johansen
|
10522e9779
Disabled a_adjust_sp optimized steps for now.
|
11 gadi atpakaļ |
Jeppe Johansen
|
2227045e23
Replace forbidden chars in more places in the GAS assembler writer.
|
11 gadi atpakaļ |
Jeppe Johansen
|
e33550b67d
Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
|
11 gadi atpakaļ |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
11 gadi atpakaļ |