florian
|
837b433abc
* avoid overflow during register allocation
|
преди 4 години |
yury
|
6975437da8
* rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type.
|
преди 4 години |
yury
|
4fa99cff62
* Removed more assigned but unused vars.
|
преди 4 години |
yury
|
31cd3df783
* Fixed r44145. To test if a constant is declared it is needed to use {$if declared()} instead of {$if defined()}.
|
преди 4 години |
florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
преди 4 години |
yury
|
2f21f5ae93
* Reverted r46836, since it does not work as expected for yet unknown reason.
|
преди 4 години |
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 години |
yury
|
c06744b62b
* Include stack location of spilled variables in the assembler output.
|
преди 4 години |
yury
|
60c23daa91
* Fixed the stack parameters optimization (r46776) for big endian CPUs.
|
преди 4 години |
yury
|
71fcb74e95
* Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set.
|
преди 4 години |
yury
|
c2dc342c55
* Use the initial location of stack parameters as a spilling location if spilling is needed. This leads to the following optimizations:
|
преди 4 години |
yury
|
acef1e22d3
* Improved output of spilling statistics:
|
преди 4 години |
yury
|
d9db680937
* In assembly comments include all used registers by a variable for 8/16 bit CPUs.
|
преди 5 години |
Jonas Maebe
|
3047ce71bc
* fixed LLVM register allocator after r46199
|
преди 5 години |
yury
|
ff820247c3
* Early during register allocation, spill registers which interfere with all usable real registers.
|
преди 5 години |
yury
|
601e05f17f
* Count only usable real registers.
|
преди 5 години |
yury
|
0daba07246
* Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on
|
преди 5 години |
yury
|
4964f5cf76
* Count the number of interferences with real registers.
|
преди 5 години |
yury
|
e6b89c98f5
* Changed tsuperregisterworklist.get() to always return the last item from the list.
|
преди 5 години |
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 години |
yury
|
15f411a332
* Improved r45832.
|
преди 5 години |
yury
|
80facfa0bf
* Fixed indentations of the interference graph.
|
преди 5 години |
pierre
|
40a6059143
Modify code to avoid error when compiling with -CriotR option
|
преди 5 години |
florian
|
96a4cda03b
* AVR: fixes pushing and handling of stack passed parameters
|
преди 5 години |
florian
|
c6659d62f8
* do not join register deallocations/allocations as it makes no use and causes later on trouble in
|
преди 5 години |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
преди 6 години |
yury
|
a277a5f8db
* Removed unused local vars.
|
преди 6 години |
florian
|
ccb8e86560
* fixes arm
|
преди 6 години |
florian
|
9d56387e7f
+ new spilling heuristics which takes care of the usage weigth of a register,
|
преди 6 години |
yury
|
4357caaad8
* Removed unused local vars.
|
преди 6 години |