[fpc-devel] ARM/AARCH64 work
Florian Klämpfl
florian at freepascal.org
Thu Aug 6 07:58:17 CEST 2020
> Am 05.08.2020 um 19:47 schrieb J. Gareth Moreton <gareth at 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 at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
More information about the fpc-devel
mailing list