fpc/compiler/ppcgen
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 * rol/ror inlines for powerpc/powerpc64 (only for 32/64 bit operands for now) 2008-09-13 16:29:42 +00:00
agppcgas.pas * changed tf_use_function_relative_addresses into an assembler flag (with 2009-12-06 13:21:28 +00:00
cgppc.pas * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can 2010-05-30 21:12:57 +00:00
ngppcadd.pas * fixed wrong internal error in case a swapped set <op> setelement 2008-05-07 18:11:18 +00:00
ngppccnv.pas further fix for tw10233 on powerpc(64) platforms: 2008-04-19 22:47:41 +00:00
ngppcinl.pas * the compiler now explicitly keeps track of the minimally guaranteed 2009-02-08 13:00:24 +00:00
ngppcset.pas * fixed ppc/ppc64 compilation after r12719 2009-02-09 09:47:02 +00:00
rgcpu.pas * fixed ppc/ppc64 compilation after r12719 2009-02-09 09:47:02 +00:00