Commit History

Autor SHA1 Mensaxe Data
  Yuriy Sydorov b4df9dbe1d * Prevent spilling of spill-helper registers which contain the value of a %!s(int64=4) %!d(string=hai) anos
  Yuriy Sydorov 61cf121533 * Use a register alias while handling reg deallocs in trgobj.instr_spill_register() %!s(int64=4) %!d(string=hai) anos
  Yuriy Sydorov b43ee41090 * If in a move instruction "MOV reg1,reg2" one of the registers must be %!s(int64=4) %!d(string=hai) anos
  Yuriy Sydorov 213a0a704a * Added trgobj.remove_ai(), call it instead of code duplication. %!s(int64=4) %!d(string=hai) anos
  Yuriy Sydorov b96057adeb * Remove register allocations of coalesced registers if the alias %!s(int64=4) %!d(string=hai) anos
  florian 837b433abc * avoid overflow during register allocation %!s(int64=4) %!d(string=hai) anos
  yury 6975437da8 * rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type. %!s(int64=4) %!d(string=hai) anos
  yury 4fa99cff62 * Removed more assigned but unused vars. %!s(int64=4) %!d(string=hai) anos
  yury 31cd3df783 * Fixed r44145. To test if a constant is declared it is needed to use {$if declared()} instead of {$if defined()}. %!s(int64=4) %!d(string=hai) anos
  florian 637976e83f * patch by Marģers to unify internal error numbers, resolves #37888 %!s(int64=4) %!d(string=hai) anos
  yury 2f21f5ae93 * Reverted r46836, since it does not work as expected for yet unknown reason. %!s(int64=5) %!d(string=hai) anos
  yury b5abefe03e * Moved spilling of registers which have the initial memory location and are used only once to a stage after coalescing is done. This produces a better code. %!s(int64=5) %!d(string=hai) anos
  yury c06744b62b * Include stack location of spilled variables in the assembler output. %!s(int64=5) %!d(string=hai) anos
  yury 60c23daa91 * Fixed the stack parameters optimization (r46776) for big endian CPUs. %!s(int64=5) %!d(string=hai) anos
  yury 71fcb74e95 * Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set. %!s(int64=5) %!d(string=hai) anos
  yury c2dc342c55 * Use the initial location of stack parameters as a spilling location if spilling is needed. This leads to the following optimizations: %!s(int64=5) %!d(string=hai) anos
  yury acef1e22d3 * Improved output of spilling statistics: %!s(int64=5) %!d(string=hai) anos
  yury d9db680937 * In assembly comments include all used registers by a variable for 8/16 bit CPUs. %!s(int64=5) %!d(string=hai) anos
  Jonas Maebe 3047ce71bc * fixed LLVM register allocator after r46199 %!s(int64=5) %!d(string=hai) anos
  yury ff820247c3 * Early during register allocation, spill registers which interfere with all usable real registers. %!s(int64=5) %!d(string=hai) anos
  yury 601e05f17f * Count only usable real registers. %!s(int64=5) %!d(string=hai) anos
  yury 0daba07246 * Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on %!s(int64=5) %!d(string=hai) anos
  yury 4964f5cf76 * Count the number of interferences with real registers. %!s(int64=5) %!d(string=hai) anos
  yury e6b89c98f5 * Changed tsuperregisterworklist.get() to always return the last item from the list. %!s(int64=5) %!d(string=hai) anos
  yury c455e942e5 * Try to avoid spilling of an imm register if it contains a value loaded from an already spilled imm register. It likely leads to an endless loop and the register allocation fails. %!s(int64=5) %!d(string=hai) anos
  yury 15f411a332 * Improved r45832. %!s(int64=5) %!d(string=hai) anos
  yury 80facfa0bf * Fixed indentations of the interference graph. %!s(int64=5) %!d(string=hai) anos
  pierre 40a6059143 Modify code to avoid error when compiling with -CriotR option %!s(int64=5) %!d(string=hai) anos
  florian 96a4cda03b * AVR: fixes pushing and handling of stack passed parameters %!s(int64=5) %!d(string=hai) anos
  florian c6659d62f8 * do not join register deallocations/allocations as it makes no use and causes later on trouble in %!s(int64=5) %!d(string=hai) anos