florian
|
6d7d567a25
* min/max optimization on x86 can be applied now without fastmath as NaN is handled properly now
|
4 years ago |
florian
|
88a0d4d64b
+ optimize if x>a then x:=a; into min(a,x);, similiar for max
|
4 years ago |
florian
|
3707cb4b1e
* handle min/max properly if it is applied to NaNs
|
4 years ago |
florian
|
8d238cfaa1
* limit min/max optimization to fastmath for now, as the NaN handling is not working yet
|
4 years ago |
florian
|
d49453edba
* quick fix for llvm compilation
|
4 years ago |
florian
|
1a9678f4c4
+ min/max support for x86
|
4 years ago |
florian
|
4f3271500a
* (modified) patch by Christo Crause: ESP8266 doesn't support min/max instructions, resolves #38175
|
4 years ago |
florian
|
19ce665b3d
* compilation fixed
|
4 years ago |
florian
|
57dc416d96
+ replace appropriate if statements by min/max intrinsics
|
4 years ago |
florian
|
878f6d9ce4
* allow generic parameters as iterator variable in for in loops, resolves #38050
|
4 years ago |
florian
|
e1536bdf26
* when implicit try...finallys are turned off, do not throw an error if a procedure
|
4 years ago |
florian
|
0bdc1fdea4
* do not set nonlocal for inter-procedural labels, this is not needed, they use
|
4 years ago |
florian
|
61d44bba17
* allow iso gotos within a procedure
|
5 years ago |
svenbarth
|
55c1ecedac
* set implicitframe for copied tryfinally nodes as well
|
5 years ago |
florian
|
aca9727418
+ OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code
|
5 years ago |
florian
|
1486ab7c70
* do not throw a warning about unreachable code if the responsible node was generated internally
|
5 years ago |
florian
|
22197641b8
* last commit fixing calculation of do_loopvar_at_end was not complete,
|
5 years ago |
florian
|
74272975af
* do_loopvar_at_end is not possible if the loop counter would overflow with
|
5 years ago |
florian
|
069e040e49
* do for-loop unrolling after for-loop simplification, resolves #36589
|
5 years ago |
florian
|
2f2b378c03
* moved conversion of for into while loops in a separate pass, so node optimizations on the node tree can be
|
5 years ago |
florian
|
f424ae3929
- cleanup comment
|
5 years ago |
florian
|
fd0012deff
* when copying goto nodes take care if the label node is part of the copied tree
|
5 years ago |
Jonas Maebe
|
e775ecdc43
* cleaned up safecall support: use a hidden localvarsym instead of result
|
5 years ago |
svenbarth
|
0a915e883e
* keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined
|
5 years ago |
Jonas Maebe
|
ac1e0f96bd
* replaced tentryfile.get/putsmall/normalset() with a common tget/putset
|
5 years ago |
Jonas Maebe
|
e3e23df7e2
* document how tgotonode/tlabelnode copying works
|
6 years ago |
pierre
|
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
|
6 years ago |
Jonas Maebe
|
50c82b6468
* synchronised with trunk till r41537
|
6 years ago |
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 years ago |
florian
|
f66d7d431f
* ensure that the label points inside the range where the raise is located for psabieh
|
6 years ago |