> Am 05.08.2020 um 19:47 schrieb J. Gareth Moreton <gar...@moreton-family.com>:
> 
> Hi everyone,
> 
> So I have been asked to do some work in improving optimisation for AARCH64, 
> and ARM by logical 
> extension since some parts are shared.  I've had a look around the code for 
> the Peephole Optimizer 
> for these platforms, and while I've found some potential improvements to 
> generated code, my first 
> desire is to break up the monolithic optimisation functions (e.g. 
> "PeepHoleOptPass1Cpu"), since some 
> of them are well over 1,000 lines long and incredibly unwieldy.  
> 
> The plan for this is simple... each opcode or set of similar opcodes will get 
> its own function 
> similar to how it is done on x86 platforms (e.g. "OptPass1STR" for STR 
> optimisations).  This will 
> make the code much more compartmentalised and easier to maintain.  There are 
> some exceptions to this 
> rule but I'm managing them easily enough.
> 
> Additionally, at a later stage, I want each platform to be able to share the 
> DebugMsg method and the 
> SPeepholeOptimization string, since currently a lot of platforms redeclare 
> DebugMsg but without 
> actually changing anything in the implementation.
> 
> Obviously I'll submit the changes as patches so they can be properly reviewed 
> and tested, but does 
> this sound like a good idea?

Yes, you might have seen, that I started already with this some time ago.

> 
> Gareth aka. Kit
> 
> P.S. While I haven't been asked to improve aarch64-linux specifically, if I'm 
> understanding things 
> correctly, there should be very few differences with the actual target 
> platform in regards to 
> calling conventions, for example.

You mean with regard to different aarch64 platforms?

> _______________________________________________
> fpc-devel maillist  -  fpc-devel@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to