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 |