Commit History

Autor SHA1 Mensaxe Data
  yury 64c586b86d * Removed/ifdefed lots of unused variables. %!s(int64=4) %!d(string=hai) anos
  florian 1ba8255af0 * do not try to unroll a loop if previously an error was thrown, resolves #37475 %!s(int64=5) %!d(string=hai) anos
  florian aca9727418 + OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code %!s(int64=5) %!d(string=hai) anos
  florian ac974c9ab7 * improve is_loop_invariant for load nodes %!s(int64=5) %!d(string=hai) anos
  florian 507fc9c1ff + take care of addn and subn in is_loop_invariant %!s(int64=5) %!d(string=hai) anos
  florian aabd7c7217 * more fixes for loop strength reduction %!s(int64=5) %!d(string=hai) anos
  florian a9a711763f * some fixes to loop strength reduction %!s(int64=5) %!d(string=hai) anos
  Jonas Maebe 281b3ad276 * fix case completeness and unreachable code warnings in compiler that would %!s(int64=6) %!d(string=hai) anos
  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