fpc/compiler/avr
Jonas Maebe 283018a3bf * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
represent complex locations (required for full x86-64 ABI support,
    which is not yet implemented) -> lots of special result handling
    code has been removed and replaced by the parameter handling
    routines
  + added support for composite parameters (and hence function
    results) to tcg.a_load_ref_cgpara() (so it can be used for
    handling, e.g., 64 bit parameters on 32 bit platforms)
  * the above fixed writing past the end of allocated memory when
    handling records returned in registers on x86-64 whose size is
    not a multiple of 8 bytes (mantis #16357)
  - removed the x86-64 and PPC specific versions of a_load_ref_cgpara(),
    as they are now handled correctly by the generic version
  * moved the responsibility of allocating tcgpara cpu registers
    (using paramanager.allocparaloc()) from the callers of
    cg.a_load*_cgpara() to the cg.a_load*_cgpara() methods
    themselves (so the register allocation can be done efficiently
    when dealing with function results)
  * for the above, renamed paramanager.alloc/freeparaloc() to
    paramanager.alloc/freecgpara(), and use paramanager.allocparaloc()
    to allocate individual pcgparalocations instead
  * fixed the register size of SSE2 function result registers for
    x86-64 (when used for floating point), which results in removing
    a few superfluous "movs? %xmm0,%xmm0" instructions
  * fixed compilation of paramanagers of avr, m68k and mips after r13695
    and also updated them for these new changes

git-svn-id: trunk@15350 -
2010-05-30 21:12:57 +00:00
..
aasmcpu.pas
agavrgas.pas * changed the supported targets for assembler writers to a set, and 2009-01-28 15:12:43 +00:00
aoptcpu.pas
aoptcpub.pas
aoptcpud.pas
avrreg.dat
cgcpu.pas * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can 2010-05-30 21:12:57 +00:00
cpubase.pas * added register type parameter to cgsize2subreg(), as the subreg can 2009-07-19 13:57:23 +00:00
cpuinfo.pas * enable node cse for all cpus as level 2 optimization 2010-01-17 12:28:28 +00:00
cpunode.pas * avr stuff, work in progress 2009-07-25 19:31:06 +00:00
cpupara.pas * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can 2010-05-30 21:12:57 +00:00
cpupi.pas
cputarg.pas
itcpugas.pas * copyright and description fixed 2008-03-01 20:22:18 +00:00
navradd.pas * avr stuff, work in progress 2009-07-25 19:31:06 +00:00
navrcnv.pas * avr stuff, work in progress 2009-07-25 19:31:06 +00:00
navrmat.pas * fixed compilation of AVR compiler 2009-06-27 19:31:24 +00:00
raavr.pas
raavrgas.pas * fixed compilation 2008-07-13 18:16:53 +00:00
ravrcon.inc
ravrdwa.inc
ravrnor.inc
ravrnum.inc
ravrrni.inc
ravrsri.inc
ravrsta.inc
ravrstd.inc
ravrsup.inc
rgcpu.pas * continued work on avr-embedded 2008-08-14 14:23:25 +00:00