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