Jonas Maebe
|
12bde4e903
WPO: fix dead code detection, and handle procvars
|
2 lat temu |
Sven/Sarah Barth
|
3c2703787c
* ensure that newly created tloadparentfpnodes have a valid resultdef as they might be created in situation where the loadnode itself is no longer typechecked
|
2 lat temu |
Sven/Sarah Barth
|
2be8f01efe
* implement assignment of anonymous functions to procedure or method variables if they either capture nothing or (in case of method variables) at most the Self variable
|
4 lat temu |
Sven/Sarah Barth
|
5129c2cb9a
* consider Self parameters of nested functions as captured as well
|
4 lat temu |
Sven/Sarah Barth
|
d56a90e5ed
* keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope
|
4 lat temu |
Sven/Sarah Barth
|
2cc621618a
* Delphi-mode calling without parenthesis
|
4 lat temu |
Sven/Sarah Barth
|
90844c2027
* fix #35261: apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
|
3 lat temu |
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.
|
4 lat temu |
svenbarth
|
067b9b2922
* copy and compare the typesym inside type nodes as well
|
4 lat temu |
Jonas Maebe
|
8ba4c4bcf0
* factored out the creation of loadnodes for special variables/parameters
|
4 lat temu |
florian
|
b36597c76a
* better calculation of estimated stack frame size
|
5 lat temu |
yury
|
7bffafdf8b
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
|
5 lat temu |
yury
|
c15b6f4516
* Fixed the parentfp optimization for some cases when nested procvars are used.
|
5 lat temu |
yury
|
2808873d1b
* Reworked the optimization of unused $parentfp for nested routines.
|
5 lat temu |
florian
|
fc98a0db4f
* cosmetics
|
5 lat temu |
florian
|
fa4cbc89a5
+ Xtensa: hard float support, i.e. make use of floating point extension if available
|
5 lat temu |
florian
|
f6c16323fa
* unified loadnf_load_self_pointer into loadnf_load_addr
|
5 lat temu |
Jonas Maebe
|
ac1e0f96bd
* replaced tentryfile.get/putsmall/normalset() with a common tget/putset
|
6 lat temu |
Jonas Maebe
|
ef6dde6de3
* fixed loading the address of a copied labelnode in a loadnode
|
6 lat temu |
pierre
|
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
|
6 lat temu |
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 lat temu |
Jonas Maebe
|
51e68eb302
* fixed several places where the interface crc could change:
|
6 lat temu |
florian
|
ae8304f657
* set nf_write flag properly for vec. nodes of types with implicit dereferencing
|
6 lat temu |
florian
|
9f16c34329
+ initial work for tls-based threadvar support on arm-linux
|
7 lat temu |
svenbarth
|
a8b2ad31d1
* fix for Mantis #34355: correctly check whether the array constructor is empty (aka []) or not
|
7 lat temu |
svenbarth
|
85439a0fa0
* also check for nf_assign_done_in_right flag after typechecking the right side
|
7 lat temu |
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 lat temu |
florian
|
c230f81719
+ support for <dyn. array>+<dyn. array>, resolves #30463
|
7 lat temu |
svenbarth
|
d50848174a
+ add putboolean and getboolean convenience methods to tentfile
|
7 lat temu |
nickysn
|
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
|
8 lat temu |