Commit History

Автор SHA1 Съобщение Дата
  sergei c3350d13f9 * MIPS: floating point parameters on stack should be loaded to/from FPU registers directly, without using temp. преди 12 години
  sergei 89c9cdf6c4 + MIPS: implemented parameter location reusing, eliminating second copy of (potentially large) records passed by value. When parameter is passed both in registers and stack, let it have a single LOC_REFERENCE location on callee side, and store relevant registers on stack (into 16-byte area reserved by ABI) early in prologue. преди 12 години
  sergei 5bcae5a80a - Removed TMIPSParaManager.getintparaloc method, its generic implementation from r24716 works without issues. преди 12 години
  Jonas Maebe 9938169d2c * don't use the paracgsize in get_paraloc_def(), because it generally преди 12 години
  Jonas Maebe 7566ddcc8f * add a tdef to each parameter location and set it for all target преди 12 години
  sergei 1c652eb8f9 MIPS procinfo improvements: преди 12 години
  sergei 354ebb822a * MIPS: fixed layout of stack frame in case procedure does only low-level calls (via a_call_name, etc.). A 16-byte outgoing parameter area must be allocated regardless of actual parameter count. преди 12 години
  sergei 30247d8961 * MIPS: fixed parameter handling for big-endian targets, and removed a lot of garbage. преди 12 години
  sergei 209bfaa774 + MIPS: Allocate a LOC_VOID location for empty records, avoids internal errors in other parts of compiler. преди 12 години
  sergei d82387ff72 * MIPS: fixed parameter management to properly align records smaller than 32 bits on big-endian targets. преди 12 години
  sergei 08c0c265c9 * MIPS: use correct def to calculate parameter alignment (when parameter is passed by address, its def changes to pointer and the alignment of parameter itself is irrelevant). Fixes at least webtbs/tw7806. преди 12 години
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) преди 12 години
  sergei b35d04ffa8 * MIPS: methodpointers must be compatible with records; since records are never passed by address in this ABI, so must be methodpointers. Fixes webtbs/tw9141.pp. преди 12 години
  sergei b5eecab582 * Procvars (methodpointers) must be treated as records, too. Fixes tw12318.pp and tw14155.pp after r23377. преди 12 години
  sergei 162896e7d7 * MIPS code generator fixes and improvements: преди 12 години
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so преди 12 години
  pierre bf46526cc7 Set register_used boolean only for calleeside преди 13 години
  pierre 6290526821 Fix variable alignment for varargs преди 13 години
  pierre 91bfa84952 Correct code after change in set_common_funcretloc_info which made the call to ret_in_param always return false преди 13 години
  florian eb1efdff8a + introduce cstylearrayofconst because pocall_mwcall was forgotten at several places преди 13 години
  Jonas Maebe 0a1157da38 * fixed memory leaks in the compiler introduced in r21862 by marking and преди 13 години
  pierre 6a9edb2083 Always pass records by value (OABI compliance) преди 13 години
  Jonas Maebe 7a0ae38700 + also specify the parameter def when allocating a parameter via преди 13 години
  Jonas Maebe c3ea451aea * set tcgpara.vardef when creating parameter info преди 13 години
  Jonas Maebe 587244c088 * factored out common code from get_funcretloc() преди 13 години
  pierre 74eb121d1c Fix big endian issues преди 13 години
  Jonas Maebe 0fc422f244 * moved definition of maxcpuregister and tcpuregisterset from cgbase to преди 13 години
  pierre 72d310a8a4 Partial merge of 21562 by Foxsen, adapted. преди 13 години
  pierre 9453b1bb1e Merge of revision 21551 by Foxsen. преди 13 години
  pierre 22eae1b337 * Stack setup for MIPS and MIPSEL преди 13 години