Commit History

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