Arthur Eubanks via llvm-dev
2021-Jun-15 22:22 UTC
[llvm-dev] Review wanted - contribution for legacy pass manager (machine pass extensions)
I'm not super familiar with the codegen pipeline, perhaps some backend people can take a look? A question is, do we want extensions like in the middle-end optimization pipeline? I don't see why not, this mirrors the existing extensions for the optimization pipeline. But it'd be good to get some more opinions from people more knowledgeable. On Mon, Jun 14, 2021 at 8:04 AM David Blaikie <dblaikie at gmail.com> wrote:> Arthur - any idea who might be good to review this? > > On Mon, Jun 7, 2021 at 6:20 AM Raoul Gough via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hello llvm-dev, I have a code contribution for the legacy pass manager >> and I'm having trouble finding anyone to finish reviewing it. I've made >> some improvements based on earlier feedback from @ychen on Phabricator >> but since then nobody has given final approval. Can anyone help with >> this or point me in the right direction? >> >> I couldn't see anyone listed in the CODE_OWNERS.txt for this area of the >> code base. From what I understand the new pass manager still doesn't >> handle the target-specific code, so I think the code is in the right >> place for now at least. I'd be happy to move it to the new pass manager >> if that's currently possible, of course. >> >> This is related to my (out of tree) runtime inlining project and adds >> minimal support for target-level extensions in a similar way to >> addGlobalExtension in the legacy IR PassManagerBuilder... >> https://reviews.llvm.org/D98591 >> >> Regards, >> Raoul Gough. >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210615/fea78d2c/attachment.html>
Raoul Gough via llvm-dev
2021-Jun-16 19:59 UTC
[llvm-dev] Review wanted - contribution for legacy pass manager (machine pass extensions)
Hi Craig, I see you listed as the code owner for the x86 backend and I was wondering if you'd have time to comment on my review at https://reviews.llvm.org/D98591 ? This adds an extension mechanism to TargetPassConfig to allow out-of-tree code to provide machine passes for an existing target. Arthur has raised the question of whether it's appropriate to have such an extension mechanism so it might help if I explain my motivating example. I'm working on a way to do runtime inlining of functions referenced via pointers, including C++ virtual function calls. This works using ahead-of-time compiled code that has been annotated to derive call-tree information at runtime and potentially recompile parts of the code using bitcode embedded as data in the executable. To build the call tree I install a context pointer in a callee-saved register at the relevant call sites and retrieve it at function entry, both of which I do via a machine pass that runs just before the register allocator. There are actually several other complications but that's the starting point for wanting to inject a custom machine pass for an existing target. What do you think? There are some more details on my github page https://github.com/drti/drti if you're interested. Regards, Raoul. On 15/06/2021 23:22, Arthur Eubanks wrote:> I'm not super familiar with the codegen pipeline, perhaps some backend > people can take a look? > > A question is, do we want extensions like in the middle-end > optimization pipeline? I don't see why not, this mirrors the existing > extensions for the optimization pipeline. But it'd be good to get some > more opinions from people more knowledgeable. > > On Mon, Jun 14, 2021 at 8:04 AM David Blaikie <dblaikie at gmail.com > <mailto:dblaikie at gmail.com>> wrote: > > Arthur - any idea who might be good to review this? > > On Mon, Jun 7, 2021 at 6:20 AM Raoul Gough via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Hello llvm-dev, I have a code contribution for the legacy pass > manager > and I'm having trouble finding anyone to finish reviewing it. > I've made > some improvements based on earlier feedback from @ychen on > Phabricator > but since then nobody has given final approval. Can anyone > help with > this or point me in the right direction? > > I couldn't see anyone listed in the CODE_OWNERS.txt for this > area of the > code base. From what I understand the new pass manager still > doesn't > handle the target-specific code, so I think the code is in the > right > place for now at least. I'd be happy to move it to the new > pass manager > if that's currently possible, of course. > > This is related to my (out of tree) runtime inlining project > and adds > minimal support for target-level extensions in a similar way to > addGlobalExtension in the legacy IR PassManagerBuilder... > https://reviews.llvm.org/D98591 <https://reviews.llvm.org/D98591> > > Regards, > Raoul Gough. > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > <https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210616/d866aabf/attachment.html>