[llvm-dev] AMDGPU and support for the new pass manager

Arthur Eubanks via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 4 15:48:13 PST 2020


Currently AMDGPU is the last target which injects passes into the pipeline
but hasn't been updated to work with the new pass manager.

Recently there was added support for the NPM's equivalent of
TargetMachine::adjustPassManager(). (Bug
<https://bugs.llvm.org/show_bug.cgi?id=47244>, Phab
<https://reviews.llvm.org/D88138>). BPF
<https://github.com/llvm/llvm-project/blob/99f79cbf31cc6ccdfa1aed253a64c5e8012f4ef7/llvm/lib/Target/BPF/BPFTargetMachine.cpp#L126>
and Hexagon have their NPM equivalents implemented already, but AMDGPU has
a lot of custom passes added by adjustPassManager
<https://github.com/llvm/llvm-project/blob/99f79cbf31cc6ccdfa1aed253a64c5e8012f4ef7/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp#L420>
and
hasn't been updated to work with the NPM.

Could the maintainers of AMDGPU port the necessary passes to the new pass
manager add them to AMDGPUTargetMachine::registerPassBuilderCallbacks()?
I'm happy to provide any guidance if necessary. Here's
<https://reviews.llvm.org/D91990> an example of porting a pass and adding
it to the pipeline.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201204/4916d96a/attachment.html>


More information about the llvm-dev mailing list