Am 20.05.2017 um 21:34 schrieb Jonas Maebe:
> Also in summary, very little was learned from this. We have known for a long 
> time that FPC needs SSA
> for better code generation for loops (and Florian has been working on it for 
> a long time too).

Actually, this is not completely true :) What FPC needs to generate better code 
in this case (on SYS
V ABI targets), is life splitting around call nodes. This needs no SSA/SSA 
might actually not help.
I have a patch for it, but not finished, as another patch is needed for this to 
make it work well:
spill coalescing (nodes/registers which are spilled, are spilled to the same 
memory location if they
are not interfering but connected by a move). I have also a half backed patch 
for this, but never
finished it nor committed it to the official trunk. Both patches combined 
result for the example in
much better code regarding register usage as variables can go to xmm registers 
which are
stored/restored around call nodes.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to