Commit History

Author SHA1 Message Date
  florian 63f6afffd5 + make empty proc. removal switchable by removeemptyprocs 12 years ago
  svenbarth 344571cb4e Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants. 12 years ago
  Jonas Maebe 9cbff6f5a6 + support for record constructors for the JVM target 12 years ago
  Jonas Maebe 9145f1d67d * integrated potype_constructor check in maybe_create_funcret_node 12 years ago
  florian cad1309935 * don't write directly to the function result destination if we are inlining and if the destination is too complex to evaluate (threadvar etc.) 12 years ago
  paul b2a613c17f compiler: implement record constructors + tests 12 years ago
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) 12 years ago
  florian 329257d76e * check for empty procedures after helper test so even empty helper methods cannot be called directly 12 years ago
  florian 24f518f232 + redirect calls to empty virtual methods to FPC_EMPTYMETHOD 12 years ago
  florian 4d6471fef6 * get rid of calls to empty procedures having parameters without side effect 12 years ago
  Jonas Maebe d9e67fc835 * don't add a separate high parameter for array-of-const parameters on the 12 years ago
  svenbarth 2db54da2b3 m68k also uses a non fixed stack with an equivalent to PUSH/POP so don't reorder parameters 13 years ago
  Jonas Maebe f5de7e34d3 * only remove the calculation of unused parameters of inline routines if 13 years ago
  florian 1cd6f2355b * don't copy const parameters passed by reference even if their complexity is >1, 13 years ago
  Jonas Maebe f3ad4af343 * make sure valid_for_assign() returns false for inlined function bodies 13 years ago
  florian bd47ba6ba4 * the address of complex inline parameters can be hold always in a register 13 years ago
  florian 5b90a02e75 * inherit nf_write/nf_modify in tcallnode.replaceparaload also when replacing parameters 13 years ago
  florian 2c122a9bf6 * inherit modification flag from load nodes when creating temp nodes when inlining, dfa/cse need this information 13 years ago
  florian 4d86d25c6c * -O4 switch for optimizations which are correct but which might have unexpected effects 13 years ago
  Jonas Maebe b50d0aa3d0 * only don't pre-finalize funcret temps that are passed by reference to the 13 years ago
  Jonas Maebe 3414f91590 * minor reformatting, and removed superfluous assigned test (the value is 13 years ago
  Jonas Maebe 9412d4abd2 * add a reference to the procsym corresponding to the chosen overloaded 13 years ago
  florian af7bb6faab * ignore unused parameters when inlining 13 years ago
  Jonas Maebe baa8fa39a8 * converted code to trash variables (-gt) to operate at the node tree level, 13 years ago
  florian 6c8eed21c4 + implement auto inlining (-Ooautoinline) 13 years ago
  Jonas Maebe 834026bfb5 * synchronised with trunk up to r21067 13 years ago
  sergei 04ca8a9126 * translate_disp_call: improved building the parameter block by using ttemprefnode.create_offset instead of taking address/pointer additions/dereference. Results in simpler node tree and lesser CPU instructions generated. 13 years ago
  sergei 6d0dd50be3 * tcallnode.maybe_load_in_temp: treat asnode like callnode, because asnodes are converted into helper calls in pass 1. Improves code generated for expressions "(a as b).SomeMethod". 13 years ago
  Jonas Maebe aee5380ae0 * merged trunk up to r20882 13 years ago
  florian a7b46fc36f * don't create a temp. for a dereferenced pointer which is passed to a var parameter of an inline procedure 13 years ago