Michaël Van Canneyt
|
7ae949895a
* Do not insert a widestring <-> ansistring conversion node when checking for (un)equal empty string.
|
2 years ago |
Sven/Sarah Barth
|
125ee4c736
* fix #39447: when checking whether the parameters are valid for pointer arithmetic check the *correct* parameter for being valid pointer-like type (I'd say that this was a copy&paste mistake...)
|
2 years ago |
Nikolay Nikolov
|
c04c513a5d
+ support nil comparison of WebAssembly reference types (externref and funcref)
|
2 years ago |
florian
|
a030e99318
* PopCount takes care only of the bit pattern, so take the uvalue to avoid an internal error, resolves #40190
|
2 years ago |
J. Gareth "Curious Kit" Moreton
|
6497a1e1ab
* Dead code in TAddNode.Simplify has been stripped
|
2 years ago |
J. Gareth "Curious Kit" Moreton
|
626a5d6c08
* In TAddNode.Simplify, commutative operations now ensure integer constant operands go on the right for simplicity
|
2 years ago |
J. Gareth "Curious Kit" Moreton
|
ac149347a9
* More complex uses of the pruning methods in TAddNode.Simplify
|
2 years ago |
J. Gareth "Curious Kit" Moreton
|
12435f268d
* TAddNode.Simplify now uses pruning methods
|
2 years ago |
florian
|
cd2510ce14
* transform a/a only into 1 if fastmath is on
|
2 years ago |
florian
|
4790007775
* compile float*2 as float+float if possible as proposed by Rika, resolves #40116
|
2 years ago |
florian
|
64d600b973
* second part of #40041 fixed
|
2 years ago |
florian
|
3f56a4b7db
* properly transform a+const1-const2 into a+const1+(-const2), resolves #40041
|
2 years ago |
Sven/Sarah Barth
|
ea9e86c9c3
* as long as the type passed into a TypeInfo() is not an undefined or error def the resulting value will always be constant at compile time, so it can be compared to another then no matter if typenode or not
|
2 years ago |
florian
|
776f068ab2
* cleanup
|
2 years ago |
florian
|
473910b5bd
* create muln with create instead of create_internal when converting "n - n mod const)" so pass1 works properly, resolves #40004
|
2 years ago |
Pierre Muller
|
180f7afcff
Fix compilation failure of RTL with -Co option for x86_64-linux target
|
2 years ago |
Pierre Muller
|
6a9777d327
Use correct class typecast for commit ba4cee279b
|
2 years ago |
florian
|
100dfdb42f
* convert n-n mod const into n div const*const, resolves #39615
|
2 years ago |
florian
|
0b68a61d28
* cosmetics
|
2 years ago |
Sven/Sarah Barth
|
02aac653d2
* optimize shortstring concatenations if they're on the right side of an assignment to directly use the left side instead of a temporary
|
3 years ago |
Sven/Sarah Barth
|
32261a0f6d
* fix copy/paste typo in comments
|
3 years ago |
florian
|
ad7cc0e69d
* handle <dyn.array>+[] (and swapped) correctly, resolves #39919
|
3 years ago |
Jonas Maebe
|
a6c7ed5e61
vector support: use vector result types
|
3 years ago |
Jonas Maebe
|
cb96acefc9
vector support: check supported type during parsing already
|
3 years ago |
florian
|
f9a4631adf
* don't switch a+/-/sqr(b) into an fma statement if b is too complex
|
3 years ago |
florian
|
f6b5c513bb
* patch by Rika: makes #39786 work on more setups, resolves #39786
|
3 years ago |
florian
|
fcb5531fbc
* convert a+/-const1-/const2 in into a+/-(-const1)+(-const2) to enable further optimizations, resolves #39782
|
3 years ago |
florian
|
95dfccbb5e
* do not optimize away +0.0 if no fastmath is passed as -0.0+(+0.0)=+0.0
|
3 years ago |
florian
|
94665a40d7
* optimize a-const1-const2 when const1 and const2 are real constants and fast math is on, part of fixing #39782
|
3 years ago |
Jonas Maebe
|
573f2c20d7
taddnode.cmp_of_disjunct_ranges: fortify in case of programs with errors
|
3 years ago |