Yuriy Sydorov
|
e9acd759a4
* Fixed random AVs when targeting the AVX FPU.
|
3 jaren geleden |
Yuriy Sydorov
|
4f711a8b2c
* Use longint for Tmoveins.id instead of word to prevent overflow in extreme cases.
|
3 jaren geleden |
Yuriy Sydorov
|
5c55f1a16e
* Added Tmoveins.id to be used for sorting and searching in Tmovelist, to
|
3 jaren geleden |
Yuriy Sydorov
|
8e5c2467e2
* Fixed node coalescing with real registers.
|
3 jaren geleden |
Yuriy Sydorov
|
7e4753bebd
* Typo fixed.
|
3 jaren geleden |
Yuriy Sydorov
|
d0cc649428
* Write interference graphs to the unit output directory.
|
3 jaren geleden |
Yuriy Sydorov
|
c4a1cdceae
* Corrected calculation of spilling efficiency.
|
3 jaren geleden |
Yuriy Sydorov
|
c9d9d42f0e
* Better coalescing with real registers. This improves setting of parameters
|
3 jaren geleden |
Yuriy Sydorov
|
b4df9dbe1d
* Prevent spilling of spill-helper registers which contain the value of a
|
3 jaren geleden |
Yuriy Sydorov
|
61cf121533
* Use a register alias while handling reg deallocs in trgobj.instr_spill_register()
|
3 jaren geleden |
Yuriy Sydorov
|
b43ee41090
* If in a move instruction "MOV reg1,reg2" one of the registers must be
|
3 jaren geleden |
Yuriy Sydorov
|
213a0a704a
* Added trgobj.remove_ai(), call it instead of code duplication.
|
3 jaren geleden |
Yuriy Sydorov
|
b96057adeb
* Remove register allocations of coalesced registers if the alias
|
3 jaren geleden |
florian
|
837b433abc
* avoid overflow during register allocation
|
4 jaren geleden |
yury
|
6975437da8
* rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type.
|
4 jaren geleden |
yury
|
4fa99cff62
* Removed more assigned but unused vars.
|
4 jaren geleden |
yury
|
31cd3df783
* Fixed r44145. To test if a constant is declared it is needed to use {$if declared()} instead of {$if defined()}.
|
4 jaren geleden |
florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
4 jaren geleden |
yury
|
2f21f5ae93
* Reverted r46836, since it does not work as expected for yet unknown reason.
|
4 jaren geleden |
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 jaren geleden |
yury
|
c06744b62b
* Include stack location of spilled variables in the assembler output.
|
4 jaren geleden |
yury
|
60c23daa91
* Fixed the stack parameters optimization (r46776) for big endian CPUs.
|
4 jaren geleden |
yury
|
71fcb74e95
* Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set.
|
4 jaren geleden |
yury
|
c2dc342c55
* Use the initial location of stack parameters as a spilling location if spilling is needed. This leads to the following optimizations:
|
4 jaren geleden |
yury
|
acef1e22d3
* Improved output of spilling statistics:
|
4 jaren geleden |
yury
|
d9db680937
* In assembly comments include all used registers by a variable for 8/16 bit CPUs.
|
5 jaren geleden |
Jonas Maebe
|
3047ce71bc
* fixed LLVM register allocator after r46199
|
5 jaren geleden |
yury
|
ff820247c3
* Early during register allocation, spill registers which interfere with all usable real registers.
|
5 jaren geleden |
yury
|
601e05f17f
* Count only usable real registers.
|
5 jaren geleden |
yury
|
0daba07246
* Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on
|
5 jaren geleden |