florian
|
ff31d95a69
* excess precision should not be applied to comp or currency
|
vor 4 Jahren |
florian
|
13f1fb60b4
* directly copy the result of set <op> set into the left side of an assignment
|
vor 4 Jahren |
Jonas Maebe
|
0729340817
* try_make_mul32to64: restore original node order if transformation failed
|
vor 4 Jahren |
Jonas Maebe
|
099134b545
* fix try_make_mul32to64() if it's called with a constant node on the
|
vor 4 Jahren |
florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
vor 4 Jahren |
florian
|
65047cecdb
+ optimize comparisons of constant pointers
|
vor 4 Jahren |
florian
|
e124b07e86
+ evaluate typeinfo(<type1>)=/<>typeinfo(<type2>) at compile time, resolves #30260
|
vor 4 Jahren |
Jonas Maebe
|
aa75d39ab5
* don't perform "(x=y) or (z=u)" -> "(x xor y) or (z xor u)" optimization
|
vor 4 Jahren |
yury
|
6878ffbf04
* In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible.
|
vor 5 Jahren |
florian
|
18b8b9c566
* do not apply range test optimization if the variable is a string being compared against a char constants, resolves #37476
|
vor 5 Jahren |
florian
|
d7ba09f543
* insert type casts when creating new unaryminus nodes during simplification, resolves #37508
|
vor 5 Jahren |
florian
|
e14a3f17e6
* reverted r46220 as it is fixed now properly
|
vor 5 Jahren |
yury
|
719220e8a4
* For 8/16 bit CPUs and TP mode, disable expansion to a larger integer type for subtract operations on unsigned integers. This is TP7 compatible.
|
vor 5 Jahren |
svenbarth
|
c17ad509e2
* fix for Mantis #36775: apply patch by J. Gareth Moreton
|
vor 5 Jahren |
Jonas Maebe
|
346adf7f55
* replace explicit (sometimes incomplete) tests with calls to doshortbooleval()
|
vor 5 Jahren |
florian
|
5f118da600
* optimize a/a and a-a if fast math is on
|
vor 5 Jahren |
florian
|
aafc22bd74
+ optimize real operations with 0 and 1 if fast math is turned on
|
vor 5 Jahren |
florian
|
6d3b74f96e
* extended r45555 to take care of chars as well
|
vor 5 Jahren |
florian
|
792cf056eb
* a nil node is also a constant pointer node
|
vor 5 Jahren |
florian
|
7a60e044e3
* simplify constant expressions after re-ordering, resolves #37062
|
vor 5 Jahren |
florian
|
e5e386f94a
* cosmetics
|
vor 5 Jahren |
florian
|
ebcae70d72
* avoid unncessary conversions of constants in 64 bit ints when doing constant folding
|
vor 5 Jahren |
florian
|
bdabf674e1
* propagate forinline
|
vor 5 Jahren |
florian
|
43e6d84f33
* GetCopyAndTypeCheck forces correct type
|
vor 5 Jahren |
nickysn
|
55254ff64b
+ set expectloc in the first pass of the addnode for small CPUs for procvardef comparisons
|
vor 5 Jahren |
nickysn
|
96a714b20e
* set expectloc correctly for procvardef comparisons with nil for small CPUs
|
vor 5 Jahren |
nickysn
|
073afe3735
+ set expectloc correctly for small CPUs in the first pass of the add node for classrefdefs
|
vor 5 Jahren |
nickysn
|
2ee28809d8
* set expectloc correctly for small CPUs for implicit pointer object types in the first pass of the add nodes
|
vor 5 Jahren |
nickysn
|
4ae5b81bff
* set expectloc correctly for enumdef comparisons on small CPUs
|
vor 5 Jahren |
nickysn
|
c0ea4d826c
+ also support the 8-bit mul helpers in the generic code of nadd
|
vor 5 Jahren |