Commit History

Author SHA1 Message Date
  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. 6 years ago
  Jonas Maebe 51e68eb302 * fixed several places where the interface crc could change: 6 years ago
  florian ae8304f657 * set nf_write flag properly for vec. nodes of types with implicit dereferencing 6 years ago
  florian 9f16c34329 + initial work for tls-based threadvar support on arm-linux 6 years ago
  svenbarth a8b2ad31d1 * fix for Mantis #34355: correctly check whether the array constructor is empty (aka []) or not 6 years ago
  svenbarth 85439a0fa0 * also check for nf_assign_done_in_right flag after typechecking the right side 7 years ago
  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 7 years ago
  florian c230f81719 + support for <dyn. array>+<dyn. array>, resolves #30463 7 years ago
  svenbarth d50848174a + add putboolean and getboolean convenience methods to tentfile 7 years ago
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers 8 years ago
  florian b1dff29cbf * removed unused units 8 years ago
  svenbarth 8f4ef91efb * tarrayconstructornode: force conversion to set if there's a range node in the tree 8 years ago
  svenbarth 82b2d22ed6 * keep track of allow_array_constructor as part of the array constructor node 8 years ago
  svenbarth dfc23da06c * tassignmentnode.pass_typecheck: also allow "dynarray := []" in addition to "dynarray := nil" 8 years ago
  svenbarth b1c66dee9b + tarrayconstructornode: add utility method has_range_node to check whether the array constructor node tree contains any range node 8 years ago
  svenbarth 4a2266ac44 * tarrayconstructornode.pass_typecheck: set elementdef of the arraydef only after the arrayoptions are changed 8 years ago
  nickysn 012153201a * moved the conversion of "x:=x op k" to inline nodes to a separate optimization 8 years ago
  nickysn 5bb77905cd * fixed the missing warnings for unused variables at -O3, when one of the new 8 years ago
  nickysn 4697a653a4 + perform the "i:=i +/-/and/or/xor k" optimization when there are two typecasts 8 years ago
  nickysn d8406c4227 + perform the "i:=-i" / "i:=not i" optimization even when there are typecasts 8 years ago
  nickysn 98be270adb * fixed a memory leak in the "i:=-i" / "i:=not i" optimization 8 years ago
  nickysn e78f0aafcd - remove whitespace, was inserted by accident 8 years ago
  nickysn 3616627d0b * at -O3 optimization level, convert "i:=not i" and "i:=-i" to the new 8 years ago
  nickysn f29492bdea * at -O3 level, convert i:=i and/or/xor k to the new in_[and/or/xor]_assign_x_y 8 years ago
  florian b55cb246da * do +/-/pred/succ to inc/dec optimizations only at an appropriate optimziation level 8 years ago
  pierre a7c7319352 Avoid use of getcopy method for i:=i+/i k optimization 8 years ago
  florian a679cd4e37 * copy loadnodeflags in tloadnode.dogetcopy as well 8 years ago
  nickysn bd48a71a98 * replace i:=i+k/i:=k+i/i:=i-k (integer only, for now; later we can also do this for pointers too) by inc/dec(i,k) 8 years ago
  florian a27b07b342 + more restrictions on pred/succ to dec/inc optimization 8 years ago
  florian 000cffa8e3 * make more use of nf_internal to avoid range check errors 8 years ago