florian
|
84a852bc13
* more aggressive cse on thread vars
|
hai 4 meses |
florian
|
e4af0fc1e9
* don't mess with boolean and/or operations in mixed short/full evaluated expressions, resolves #41012
|
hai 8 meses |
florian
|
0a88683310
+ do do_consttovar on RiscV
|
hai 1 ano |
florian
|
1fa83a91ab
+ cs_opt_consts for sparc64
|
hai 1 ano |
florian
|
5284948087
* proper alignment information for constant addresses stored in registers
|
hai 1 ano |
florian
|
5e00358f13
+ cs_opt_consts for sparc
|
hai 1 ano |
florian
|
70d2f81e5e
+ store pic references in registers if possible
|
hai 1 ano |
J. Gareth "Curious Kit" Moreton
|
81b7b80749
* Added support for 64-bit min/max intrinsics
|
hai 1 ano |
J. Gareth "Curious Kit" Moreton
|
2b7df4237b
* nf_pass1_done, nf_error, nf_processing and nf_do_not_execute
|
hai 1 ano |
florian
|
4103b3d180
* formatting
|
hai 1 ano |
J. Gareth "Curious Kit" Moreton
|
b804fc5164
* Flags specific to TAddNode have been moved to their own field
|
hai 1 ano |
Nikolay Nikolov
|
da37fabc42
* fixed a div by zero error, when compiling a wasi-hosted compiler
|
hai 1 ano |
florian
|
5921fa9a62
+ store references to global variables in registers if benefical (currrently used for aarch64 only)
|
%!s(int64=3) %!d(string=hai) anos |
florian
|
2240c69078
* improved heurisics when thread var addresses or float constants are put in registers
|
%!s(int64=3) %!d(string=hai) anos |
Jonas Maebe
|
89d2775191
optcse: fix wrong typecast
|
%!s(int64=3) %!d(string=hai) anos |
florian
|
4f77cbbac4
+ keep addresses of thread vars in registers if possible and likely an advantage
|
%!s(int64=3) %!d(string=hai) anos |
florian
|
5e9eb673f8
* x86: only add mm capable consts to register candidate list, this is better
|
%!s(int64=3) %!d(string=hai) anos |
florian
|
468975aa30
+ move often used floating point constants into registers
|
%!s(int64=3) %!d(string=hai) anos |
florian
|
6e4997265c
+ min/max intrinsics for internal use by the compiler
|
%!s(int64=4) %!d(string=hai) anos |
florian
|
af1e6fde5c
* setelementn cannot be the root node of a cse domain, resolves #37477
|
%!s(int64=5) %!d(string=hai) anos |
Jonas Maebe
|
59331c3d3c
* enable putting records that contain a single field into records on all
|
%!s(int64=5) %!d(string=hai) anos |
florian
|
851accbb4b
* cse adjusted
|
%!s(int64=5) %!d(string=hai) anos |
Jonas Maebe
|
a7cb99f012
* when transforming the structure of a node tree involving full boolean
|
%!s(int64=6) %!d(string=hai) anos |
florian
|
88f83280dc
* correctly take care of short boolean evaluation when rearranging nodes during CSE
|
%!s(int64=6) %!d(string=hai) anos |
Jeppe Johansen
|
8f4173c54d
Add a number of optimizations.
|
%!s(int64=6) %!d(string=hai) anos |
florian
|
1497b64804
* the temp. locations created by cse were not properly cleanup up, this patch fixes this
|
%!s(int64=7) %!d(string=hai) anos |
nickysn
|
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
|
%!s(int64=8) %!d(string=hai) anos |
Jonas Maebe
|
179c1ab328
* changed ttemp*node.tempinfo^.flags to a private field, and added setters
|
%!s(int64=9) %!d(string=hai) anos |
florian
|
260ea81c82
* improve cse on record/array accesses
|
%!s(int64=9) %!d(string=hai) anos |
Jonas Maebe
|
af2c7bf00f
* don't perform CSE on typeconversion nodes inserted for absolute
|
%!s(int64=10) %!d(string=hai) anos |