Commit History

Autor SHA1 Mensaxe Data
  Yuriy Sydorov 07698050e5 * Before r35961 (back in 2017) some simple assignment optimizations, such as "x:=x+y" to "inc(x,y)", were performed when -O2 in tassignmentnode.simplify. In r35961 these optimizations were moved to a separate pass which is enabled only when -O3 by cs_opt_use_load_modify_store. This separate pass can benefit from other optimization. But worse code is generated with -O2 since then. %!s(int64=4) %!d(string=hai) anos
  svenbarth 067b9b2922 * copy and compare the typesym inside type nodes as well %!s(int64=4) %!d(string=hai) anos
  Jonas Maebe 8ba4c4bcf0 * factored out the creation of loadnodes for special variables/parameters %!s(int64=4) %!d(string=hai) anos
  florian b36597c76a * better calculation of estimated stack frame size %!s(int64=5) %!d(string=hai) anos
  yury 7bffafdf8b * Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines. %!s(int64=5) %!d(string=hai) anos
  yury c15b6f4516 * Fixed the parentfp optimization for some cases when nested procvars are used. %!s(int64=5) %!d(string=hai) anos
  yury 2808873d1b * Reworked the optimization of unused $parentfp for nested routines. %!s(int64=5) %!d(string=hai) anos
  florian fc98a0db4f * cosmetics %!s(int64=5) %!d(string=hai) anos
  florian fa4cbc89a5 + Xtensa: hard float support, i.e. make use of floating point extension if available %!s(int64=5) %!d(string=hai) anos
  florian f6c16323fa * unified loadnf_load_self_pointer into loadnf_load_addr %!s(int64=5) %!d(string=hai) anos
  Jonas Maebe ac1e0f96bd * replaced tentryfile.get/putsmall/normalset() with a common tget/putset %!s(int64=5) %!d(string=hai) anos
  Jonas Maebe ef6dde6de3 * fixed loading the address of a copied labelnode in a loadnode %!s(int64=5) %!d(string=hai) anos
  pierre 243c967967 Commit of new debug feature implemented by J. Gareth Moreton %!s(int64=6) %!d(string=hai) anos
  yury e5c2d13671 * Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present. %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 51e68eb302 * fixed several places where the interface crc could change: %!s(int64=6) %!d(string=hai) anos
  florian ae8304f657 * set nf_write flag properly for vec. nodes of types with implicit dereferencing %!s(int64=6) %!d(string=hai) anos
  florian 9f16c34329 + initial work for tls-based threadvar support on arm-linux %!s(int64=6) %!d(string=hai) anos
  svenbarth a8b2ad31d1 * fix for Mantis #34355: correctly check whether the array constructor is empty (aka []) or not %!s(int64=6) %!d(string=hai) anos
  svenbarth 85439a0fa0 * also check for nf_assign_done_in_right flag after typechecking the right side %!s(int64=7) %!d(string=hai) anos
  florian 0fd0e356e1 + new flag ra_different_scope: used if a node tree is marked as non-regable if a variable is accessed from a different scope %!s(int64=7) %!d(string=hai) anos
  florian c230f81719 + support for <dyn. array>+<dyn. array>, resolves #30463 %!s(int64=7) %!d(string=hai) anos
  svenbarth d50848174a + add putboolean and getboolean convenience methods to tentfile %!s(int64=7) %!d(string=hai) anos
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers %!s(int64=8) %!d(string=hai) anos
  florian b1dff29cbf * removed unused units %!s(int64=8) %!d(string=hai) anos
  svenbarth 8f4ef91efb * tarrayconstructornode: force conversion to set if there's a range node in the tree %!s(int64=8) %!d(string=hai) anos
  svenbarth 82b2d22ed6 * keep track of allow_array_constructor as part of the array constructor node %!s(int64=8) %!d(string=hai) anos
  svenbarth dfc23da06c * tassignmentnode.pass_typecheck: also allow "dynarray := []" in addition to "dynarray := nil" %!s(int64=8) %!d(string=hai) anos
  svenbarth b1c66dee9b + tarrayconstructornode: add utility method has_range_node to check whether the array constructor node tree contains any range node %!s(int64=8) %!d(string=hai) anos
  svenbarth 4a2266ac44 * tarrayconstructornode.pass_typecheck: set elementdef of the arraydef only after the arrayoptions are changed %!s(int64=8) %!d(string=hai) anos
  nickysn 012153201a * moved the conversion of "x:=x op k" to inline nodes to a separate optimization %!s(int64=8) %!d(string=hai) anos