Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Martok
Am 21.05.2018 um 19:27 schrieb Ondrej Pokorny: > Well there is still something left: You are right, variables don't correctly get captured (or rather, don't get captured at all). This is not good. Dirty fix: only unroll loops over local variables when there are no nested procs. But that probably

Re: [fpc-devel] FPC trunk compiler slower than 3.0.4

2018-05-21 Thread Bart
On Mon, May 21, 2018 at 9:05 PM, Marco van de Voort wrote: > Afaik 3.0.x only has helpers for classes (structed types in general?), and > trunk also for other types. 3.0.4 at least has type helpers for integer/string etc. Bart ___

Re: [fpc-devel] Kit's ambitions!

2018-05-21 Thread J. Gareth Moreton
Would you object to me trying anyway, Florian? It might be that I run into the same problems you had and it's too unsafe, but I'm going by a conservative philosophy in that if it spots something that it can't work out (e.g. an instruction that it's not programmed to handle) or is potentially

Re: [fpc-devel] Kit's ambitions!

2018-05-21 Thread Florian Klämpfl
Am 13.05.2018 um 21:02 schrieb Christo: > On Sun, 2018-05-13 at 03:28 +0100, J. Gareth Moreton wrote: >>  Expand on Data Flow Analysis in the compiler. >> >> What I personally call the "Deep Optimizer", I'm proposing an >> assembler-level optimisation >> system (although it won't touch pure

Re: [fpc-devel] FPC trunk compiler slower than 3.0.4

2018-05-21 Thread Marco van de Voort
In our previous episode, Florian Kl?mpfl said: > > 1:40 with FPC trunk > > > > Do you observe the same? Any hints why? > > New features? E.g. helpers made fpc a lot slower (or are they already in > 3.0.x?) Optimizer improved > and made the compiler slower etc. Afaik 3.0.x only has helpers for

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread J. Gareth Moreton
In that example, I would logically expect an infinite loop.  Realistically, I'm not sure, because you're literally trying to trick the compiler with a construct like that (which all testers should do!) - that one could be fun to test! Gareth aka. Kit On Mon 21/05/18 19:43 , Florian Klämpfl

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Florian Klämpfl
Am 21.05.2018 um 19:27 schrieb Ondrej Pokorny: > On 21.05.2018 18:23, Martok wrote: >> Am 21.05.2018 um 17:44 schrieb Florian Klämpfl: >>> I added raise, exit, goto and label as well. >> Oh, label, right. >> >> I'd say #0033614 can be resolved as "fixed in 39083" and #0033753 as "no >> change >>

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread J. Gareth Moreton
Unless I'm missing something, that could be unrolled without any problems.  The only problem that could occur is if Test2 raises an exception (which, as the name implies, is an exceptional situation) or it jumps outside of the procedure, which can only realistically occur in some compiler

Re: [fpc-devel] FPC trunk compiler slower than 3.0.4

2018-05-21 Thread J. Gareth Moreton
One could possibly refactor elements of the compiler, and the improvements to the optimizer might also help in places. I wouldn't call it a major priority though, although I will make suggestions if I spot anything.  Granted, the niche that I've crafted for myself is assembly language

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Ondrej Pokorny
On 21.05.2018 18:23, Martok wrote: Am 21.05.2018 um 17:44 schrieb Florian Klämpfl: I added raise, exit, goto and label as well. Oh, label, right. I'd say #0033614 can be resolved as "fixed in 39083" and #0033753 as "no change required" then. Well there is still something left: program

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Martok
Am 21.05.2018 um 17:44 schrieb Florian Klämpfl: > I added raise, exit, goto and label as well. Oh, label, right. I'd say #0033614 can be resolved as "fixed in 39083" and #0033753 as "no change required" then. -- Regards, Martok ___ fpc-devel

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Jonas Maebe
On 18/05/18 13:28, Marco van de Voort wrote: In our previous episode, Mattias Gaertner said: ISO7185: "After a for-statement is executed, other than being left by a goto-statement, the control-variable shall be undefined"

Re: [fpc-devel] FPC trunk compiler slower than 3.0.4

2018-05-21 Thread Jonas Maebe
On 21/05/18 17:42, Florian Klämpfl wrote: Am 18.05.2018 um 17:32 schrieb Ondrej Pokorny: I observe that FPC trunk compiler is about 65-70% (factor 1.65-1.7) slower than FPC 3.0.4 compiler. E.g. building Lazarus IDE takes on my machine: 1:00 with FPC 3.0.4 1:40 with FPC trunk Do you observe

Re: [fpc-devel] Debugging Loop Unroll Optimization

2018-05-21 Thread Florian Klämpfl
Am 18.05.2018 um 17:15 schrieb Sven Barth via fpc-devel: > Martok > schrieb > am Fr., 18. Mai 2018, 15:40: > > > Citation: "If the loop was terminated prematurely with an exception or a > > break statement, the loop variable

Re: [fpc-devel] FPC trunk compiler slower than 3.0.4

2018-05-21 Thread Florian Klämpfl
Am 18.05.2018 um 17:32 schrieb Ondrej Pokorny: > Hello, > > I observe that FPC trunk compiler is about 65-70% (factor 1.65-1.7) slower > than FPC 3.0.4 compiler. > > E.g. building Lazarus IDE takes on my machine: > 1:00 with FPC 3.0.4 > 1:40 with FPC trunk > > Do you observe the same? Any