[llvm] [AMDGPU] Cgscc amdgpu attributor (PR #179719)

Yoonseo Choi via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 13 10:19:28 PST 2026


yoonseoch wrote:

@arsenm, @shiltian, how do we want to proceed with this PR? 
What I can think of as benefits of splitting AMDGPUAttributes into two sets of  ones handles by module AMDGPU attributor passes and the others by CGSCC pass can be
1. For ones handled by CGSCC pass, CGSCC passes might save compile time than module pass. 
2. By having module and cgscc passes, we come to have more places to fit in the  build pipeline. 

However, including Shilei's concern, it seems we are not so clear whether there are AMDGPUAttributes that can be successfully handled by CGSCC pass. 
If we want to experiment further into splitting AMDGPUAttributes into two sets, I can make this PR just as a boilerplate of CGSCC pass excluding changes in lit-tests, making it basically a NFC. 

"uniform-work-group-size", which prompted me to looking into AMDGPUAttributor's location in pipeline, still need to be handled by a module pass as far as I understand. Let me know if you have different understanding. 

If that pass is AMDGPUAttributor, its location should be changed to run early enough so that optimizations using propagation of "uniform-work-group-size = true" can trigger. I believe that is something we should follow up at least as interim steps. 

If that pass is generic Attributor pass (not enabled today in the default pipeline), as I heard from Matt that uniform-work-group-size is not AMDGPU-specific,  I guess that would be whole another topic, which will require further investigation along with its effects on other generic attributes. 

https://github.com/llvm/llvm-project/pull/179719


More information about the llvm-commits mailing list