Commit History

Autor SHA1 Mensaxe Data
  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
  Jonas Maebe f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method %!s(int64=10) %!d(string=hai) anos
  florian bd6c6d83f8 + do cse on length as well %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 86bde57b0f * do not switch around node subtrees if they have different resultdefs, e.g. %!s(int64=10) %!d(string=hai) anos
  florian 99e1bb32a2 + apply cse to more inline nodes %!s(int64=11) %!d(string=hai) anos
  florian 7107e9d5ea * do cse on all const. intregable expressions %!s(int64=11) %!d(string=hai) anos
  florian 25fc10b556 * do not store references to dyn. arrays %!s(int64=11) %!d(string=hai) anos
  florian 3e4198ea45 * take care of dyn. arrays in cse %!s(int64=11) %!d(string=hai) anos
  florian 1366498255 + nf_addr_taken: it marks nodes which address is taken %!s(int64=11) %!d(string=hai) anos
  florian c5523fc780 * do not search a node tree which has been found being subject to cse further on %!s(int64=11) %!d(string=hai) anos
  florian 8fba876904 * apply cse to static symbols on x86-64 as well, if their address can be stored %!s(int64=11) %!d(string=hai) anos
  florian 809549a31f * addr nodes can be also considered in cse %!s(int64=11) %!d(string=hai) anos
  florian 3a11dd1055 * create the addr node for cse with create_internal to avoid errors when taking the address of a temp. %!s(int64=11) %!d(string=hai) anos