Commit History

Autor SHA1 Mensaxe Data
  florian bbece3e668 * MIPS64 can %!s(int64=3) %!d(string=hai) anos
  florian 6404478ea4 * cleanup of VER3_0 defines %!s(int64=3) %!d(string=hai) anos
  Jonas Maebe 77658b925b * disable regular array -> dynamic array type coversion support unless %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 281b3ad276 * fix case completeness and unreachable code warnings in compiler that would %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 8b9e90dc7a * keep track of whether a routine has a C-style variadic parameter in the %!s(int64=6) %!d(string=hai) anos
  nickysn 518cdf9674 * replaced the saved_XXX_registers arrays with virtual methods inside %!s(int64=7) %!d(string=hai) anos
  Jonas Maebe 880d438704 * renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe fa3b0ca312 * support marking defs created via the getreusable*() class methods as %!s(int64=9) %!d(string=hai) anos
  Jonas Maebe f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 99de108c68 * renamed all paramanagers to tcpuparamanager so the llvm paramanager can %!s(int64=11) %!d(string=hai) anos
  sergei c3350d13f9 * MIPS: floating point parameters on stack should be loaded to/from FPU registers directly, without using temp. %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  sergei 5bcae5a80a - Removed TMIPSParaManager.getintparaloc method, its generic implementation from r24716 works without issues. %!s(int64=12) %!d(string=hai) anos
  Jonas Maebe 9938169d2c * don't use the paracgsize in get_paraloc_def(), because it generally %!s(int64=12) %!d(string=hai) anos
  Jonas Maebe 7566ddcc8f * add a tdef to each parameter location and set it for all target %!s(int64=12) %!d(string=hai) anos
  sergei 1c652eb8f9 MIPS procinfo improvements: %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  sergei 30247d8961 * MIPS: fixed parameter handling for big-endian targets, and removed a lot of garbage. %!s(int64=12) %!d(string=hai) anos
  sergei 209bfaa774 + MIPS: Allocate a LOC_VOID location for empty records, avoids internal errors in other parts of compiler. %!s(int64=12) %!d(string=hai) anos
  sergei d82387ff72 * MIPS: fixed parameter management to properly align records smaller than 32 bits on big-endian targets. %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  sergei b5eecab582 * Procvars (methodpointers) must be treated as records, too. Fixes tw12318.pp and tw14155.pp after r23377. %!s(int64=12) %!d(string=hai) anos
  sergei 162896e7d7 * MIPS code generator fixes and improvements: %!s(int64=12) %!d(string=hai) anos
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so %!s(int64=12) %!d(string=hai) anos
  pierre bf46526cc7 Set register_used boolean only for calleeside %!s(int64=13) %!d(string=hai) anos
  pierre 6290526821 Fix variable alignment for varargs %!s(int64=13) %!d(string=hai) anos
  pierre 91bfa84952 Correct code after change in set_common_funcretloc_info which made the call to ret_in_param always return false %!s(int64=13) %!d(string=hai) anos
  florian eb1efdff8a + introduce cstylearrayofconst because pocall_mwcall was forgotten at several places %!s(int64=13) %!d(string=hai) anos