florian
|
6d3b74f96e
* extended r45555 to take care of chars as well
|
5 years ago |
florian
|
792cf056eb
* a nil node is also a constant pointer node
|
5 years ago |
florian
|
7a60e044e3
* simplify constant expressions after re-ordering, resolves #37062
|
5 years ago |
florian
|
e5e386f94a
* cosmetics
|
5 years ago |
florian
|
ebcae70d72
* avoid unncessary conversions of constants in 64 bit ints when doing constant folding
|
5 years ago |
florian
|
bdabf674e1
* propagate forinline
|
5 years ago |
florian
|
43e6d84f33
* GetCopyAndTypeCheck forces correct type
|
5 years ago |
nickysn
|
55254ff64b
+ set expectloc in the first pass of the addnode for small CPUs for procvardef comparisons
|
5 years ago |
nickysn
|
96a714b20e
* set expectloc correctly for procvardef comparisons with nil for small CPUs
|
5 years ago |
nickysn
|
073afe3735
+ set expectloc correctly for small CPUs in the first pass of the add node for classrefdefs
|
5 years ago |
nickysn
|
2ee28809d8
* set expectloc correctly for small CPUs for implicit pointer object types in the first pass of the add nodes
|
5 years ago |
nickysn
|
4ae5b81bff
* set expectloc correctly for enumdef comparisons on small CPUs
|
5 years ago |
nickysn
|
c0ea4d826c
+ also support the 8-bit mul helpers in the generic code of nadd
|
5 years ago |
florian
|
af8202be3d
* compilation for non-Xtensa targets fixed
|
5 years ago |
florian
|
66cbee5e31
* factor out first_addfloat_soft
|
5 years ago |
florian
|
f8339a43ea
* do not do full boolean evaluation on LOC_FLAGS
|
5 years ago |
florian
|
93521ae8e8
* fold also pointer additions/subtractions
|
5 years ago |
florian
|
27e89e07a3
* in case a 32x32 -> 64 multiplication is converted into shl, the type casts need to be restored
|
5 years ago |
florian
|
251b18b966
* do not fold constants if the resulttypes do not match, improved fix for #tw26587
|
5 years ago |
yury
|
39c48f0d01
* Fixed r43577 for cases when the size of the new result of a simplified node after typecheckpass is smaller than the size of the original node's result. This caused internal errors or invalid assembly in some cases. Issue #36587.
|
5 years ago |
florian
|
77b54f501f
* when optimizing boolean expressions, might_have_sideeffects is only relevant if the expression would be optimized away
|
5 years ago |
florian
|
051b9840a5
* write a proper error message if <int>/<int> is encountered while no
|
5 years ago |
florian
|
0cb85eef9b
* more currency fixes, should resolve #36176
|
5 years ago |
pierre
|
c87facbae1
Use PInt64(@value_currency)^ construct to avoid internal error when starting from 3.0.4 ppcarm compiler
|
5 years ago |
pierre
|
91e550edb6
Remove assigned but unused local variable i64 in taddnode.pass_typecheck_internal as suggested by Ondrej Pokorny
|
5 years ago |
florian
|
86d8e79e86
* fix some currency issues, resolves #33963 and #36179
|
5 years ago |
florian
|
acdff47554
+ optimize integer expressions like 2*x*4; which were not found by the node simplifier yet
|
5 years ago |
Jonas Maebe
|
d23c7980aa
* properly perform (or not) range/overflow checking when performing constant
|
5 years ago |
florian
|
cb67577002
* fix length(<dyn. type>)=0 optimization, resolves #36215
|
5 years ago |
florian
|
ee3258c0da
* optimizing length(<dyn. type>)=0 is not possible for jvm
|
5 years ago |