> 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