Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-06 Thread J. Gareth Moreton
The patches in question can be found here: https://bugs.freepascal.org/view.php?id=34628 - just get the latest source files from the SVN trunk and apply the patches - the order shouldn't matter, but be careful you don't accidentally apply the same patch twice.  After that, you just "make clean

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-06 Thread Ryan Joseph
> On Dec 7, 2018, at 5:11 AM, J. Gareth Moreton > wrote: > > Does anyone have other test projects to compile that would give more coverage > for the timing metrics? Sure. How do I download and build? Are you just relying the FPC standard output for timing or are there are special switches

Re: [fpc-devel] The 15k bounty: Optimizing executable speedforLinux x86 / LLVM

2018-12-06 Thread J. Gareth Moreton
Hi Simon, Where are your test projects located again? I figure they might make for good timing metrics even if my overhaul is only for x86_64 currently.  If it's successful and the other developers approve, then I can port it to i386 where it counts. Alternatively, if you want to test out the

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-06 Thread J. Gareth Moreton
Got some new timing metrics for compiling Lazarus under Windows. I haven't got them for Linux because I only have it on a virtual machine, which significantly skews the performance: -O3: Trunk [125.383] 1285571 lines compiled, 125.4 sec, 9137600 bytes code, 788740 bytes data [122.078]

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-06 Thread J. Gareth Moreton
I believed I've fixed the bug.  Thanks for your help. I had misunderstood one of the internal methods and, as a result, it wasn't resetting the register allocation usage with each iteration of the loop (and to add insult to injury, caused a memory leak!).  By sheer coincidence, this wasn't a