Commit History

Autor SHA1 Mensaxe Data
  florian 21d785e41b * do not unroll loops if the counter variable is accessed outside the current scope %!s(int64=7) %!d(string=hai) anos
  florian 8f472d5212 * check for more controll flow statements before doing loop unrolling %!s(int64=7) %!d(string=hai) anos
  florian bd27b7635b * also in case of constref make_not_regable with ra_addr_taken must be called, later on in pass_1 this happens anyways %!s(int64=7) %!d(string=hai) anos
  florian c59bd8c29a + calculate loop unrolling using node_count_weighted which takes care of nodes generating no code %!s(int64=7) %!d(string=hai) anos
  florian 512328deee * include loop unrolling in -O3, as it is done carefully, it is beneficial on average %!s(int64=7) %!d(string=hai) anos
  florian fff6e0ecdb * unroll more aggressively %!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
  florian 4731ebeb50 * reset initcode after adding it to the statements list, so further iterations of loop optimization create a new one %!s(int64=9) %!d(string=hai) anos
  florian b59219b8e0 * when getting rid of a for loop by unrolling, simplify the block afterwards, %!s(int64=9) %!d(string=hai) anos
  florian f813703cf3 * fixes several issues with loop unrolling %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe b57c95043f + support overriding tdef/tsym methods with target-specific functionality: %!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 30352c7f7b * fix several issues with loop strength reduction to make it working %!s(int64=11) %!d(string=hai) anos
  florian a0f0d0de40 * make use of the noreturn directive for internalerror %!s(int64=11) %!d(string=hai) anos
  florian d23a5b7c7d * store break/continue usage in a variable %!s(int64=12) %!d(string=hai) anos
  florian 912268b1b9 * make loop unrolling dependent on the cpu optimization type instead of the instruction set %!s(int64=12) %!d(string=hai) anos
  florian b262b4d76b * fix loop unrolling of for in loops %!s(int64=12) %!d(string=hai) anos
  florian 9773b92cbe * improved for loop unrolling %!s(int64=13) %!d(string=hai) anos
  florian 6c8eed21c4 + implement auto inlining (-Ooautoinline) %!s(int64=13) %!d(string=hai) anos
  florian 092153e7ad * handle unrolling of for ... downto ... correctly, resolves #15668 %!s(int64=15) %!d(string=hai) anos
  florian c0d4efed2e * forbid passing derived classes to call by reference parent classes (for objects, this is still allowed), resolves #13135 %!s(int64=16) %!d(string=hai) anos
  florian 5e448b47a5 * compilation fixed %!s(int64=16) %!d(string=hai) anos
  yury b580cbc778 * Removed unused local var. %!s(int64=16) %!d(string=hai) anos
  florian db196d76c2 + strength reduction for array accesses inside for loops %!s(int64=17) %!d(string=hai) anos
  florian 8d01c330a1 * ttemprefnode -> ctemprefnode %!s(int64=17) %!d(string=hai) anos
  florian 17d3da7266 * variables where the address is taken could have aliases so they aren't invariant %!s(int64=17) %!d(string=hai) anos
  florian 0b5951fa14 + first full implementation of induction variable strength reduction %!s(int64=17) %!d(string=hai) anos
  florian ecd05a1043 + framework for strength reduction of induction variables %!s(int64=17) %!d(string=hai) anos
  florian 3294c59a73 * renamed optunrol into optloop %!s(int64=17) %!d(string=hai) anos