Mikael, Thomas, Thank you very much for being so welcoming. > The source is actually more C than C++ (the fortran front-end at least). That's good to know, I am much more comfortable with C.
> It requires little C++ skills, but time and willingness to decipher its > complexity. Yes, I don't expect that to be easy. > There are two places where inlining can be done: > * In front-end passes where the parsed fortran code is rewritten > before generating the intermediary code for the optimizers. Thomas > König can help you there. > * Directly in the code generation for the optimizers. It is (much) > more complex but can avoid the need for temporaries. I can help you there. My understanding of the compiler inner working being what it is, I will try to have a look at the higher level side first. > I most certainly can. frontend-passes.cc contains, among other > functionality, a function to inline MATMUL for small sizes, so > much of the infrastructure is already there. I will start my investigation there. > > Some links about our development process and conventions: > > https://gcc.gnu.org/contribute.html > > https://gcc.gnu.org/git.html > > And, if you're into hacking gfortran, some starting pointers are at > https://gcc.gnu.org/wiki/GFortranHacking . But always free feel to ask! I am familiar with git, but I'll have to read the two other documents soon. Thanks again, hopefully you'll ear about me a little later. Best regards, Théo On Thu, Nov 3, 2022 at 11:04 PM Thomas Koenig <tkoe...@netcologne.de> wrote: > > Hi, > > Mikael beat me to a mail saying essentially the same things by > a few minutes, so I'm just adding a few details. > > > There are two places where inlining can be done: > > * In front-end passes where the parsed fortran code is rewritten > > before generating the intermediary code for the optimizers. Thomas > > König can help you there. > > I most certainly can. frontend-passes.cc contains, among other > functionality, a function to inline MATMUL for small sizes, so > much of the infrastructure is already there. > > > * Directly in the code generation for the optimizers. It is (much) > > more complex but can avoid the need for temporaries. I can help you there. > > > > Some links about our development process and conventions: > > https://gcc.gnu.org/contribute.html > > https://gcc.gnu.org/git.html > > And, if you're into hacking gfortran, some starting pointers are at > https://gcc.gnu.org/wiki/GFortranHacking . But always free feel to ask! > > Best regards > > Thomas