florian
|
5921fa9a62
+ store references to global variables in registers if benefical (currrently used for aarch64 only)
|
3 years ago |
florian
|
2240c69078
* improved heurisics when thread var addresses or float constants are put in registers
|
3 years ago |
Jonas Maebe
|
89d2775191
optcse: fix wrong typecast
|
3 years ago |
florian
|
4f77cbbac4
+ keep addresses of thread vars in registers if possible and likely an advantage
|
3 years ago |
florian
|
5e9eb673f8
* x86: only add mm capable consts to register candidate list, this is better
|
3 years ago |
florian
|
468975aa30
+ move often used floating point constants into registers
|
3 years ago |
florian
|
6e4997265c
+ min/max intrinsics for internal use by the compiler
|
4 years ago |
florian
|
af1e6fde5c
* setelementn cannot be the root node of a cse domain, resolves #37477
|
5 years ago |
Jonas Maebe
|
59331c3d3c
* enable putting records that contain a single field into records on all
|
5 years ago |
florian
|
851accbb4b
* cse adjusted
|
5 years ago |
Jonas Maebe
|
a7cb99f012
* when transforming the structure of a node tree involving full boolean
|
6 years ago |
florian
|
88f83280dc
* correctly take care of short boolean evaluation when rearranging nodes during CSE
|
6 years ago |
Jeppe Johansen
|
8f4173c54d
Add a number of optimizations.
|
6 years ago |
florian
|
1497b64804
* the temp. locations created by cse were not properly cleanup up, this patch fixes this
|
7 years ago |
nickysn
|
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
|
8 years ago |
Jonas Maebe
|
179c1ab328
* changed ttemp*node.tempinfo^.flags to a private field, and added setters
|
9 years ago |
florian
|
260ea81c82
* improve cse on record/array accesses
|
9 years ago |
Jonas Maebe
|
af2c7bf00f
* don't perform CSE on typeconversion nodes inserted for absolute
|
10 years ago |
Jonas Maebe
|
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
|
10 years ago |
florian
|
bd6c6d83f8
+ do cse on length as well
|
10 years ago |
Jonas Maebe
|
86bde57b0f
* do not switch around node subtrees if they have different resultdefs, e.g.
|
10 years ago |
florian
|
99e1bb32a2
+ apply cse to more inline nodes
|
11 years ago |
florian
|
7107e9d5ea
* do cse on all const. intregable expressions
|
11 years ago |
florian
|
25fc10b556
* do not store references to dyn. arrays
|
11 years ago |
florian
|
3e4198ea45
* take care of dyn. arrays in cse
|
11 years ago |
florian
|
1366498255
+ nf_addr_taken: it marks nodes which address is taken
|
11 years ago |
florian
|
c5523fc780
* do not search a node tree which has been found being subject to cse further on
|
11 years ago |
florian
|
8fba876904
* apply cse to static symbols on x86-64 as well, if their address can be stored
|
11 years ago |
florian
|
809549a31f
* addr nodes can be also considered in cse
|
11 years ago |
florian
|
3a11dd1055
* create the addr node for cse with create_internal to avoid errors when taking the address of a temp.
|
11 years ago |