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