mmjjpp wrote:

> build on the existing infrastructure by moving things around in 
> `AMDGPUSplitModule.cpp` and `SplitModule.cpp`

Thanks for the feedback. After thinking through your suggestions more 
carefully, I put together an initial refactoring prototype with some help from 
AI. I’m not yet sure whether it matches what you had in mind, and the change 
feels fairly broad, so I’d like to agree on the direction before refining it 
further.

The prototype separates the splitting policies from the shared utilities 
roughly as follows:

     AMDGPU splitting policy ─────────┐
     Call-graph splitting(Ours) ────┼──> shared splitting utilities
     Existing SplitModule ────────────┘                 ├─ graph storage and 
dependency traversal
                                                        ├─ function cost 
calculation
                                                        ├─ externalization
                                                        └─ partition 
materialization

The prototype is available here:  
https://github.com/mmjjpp/llvm-project/commit/30d65baba31dc9ec1cf2a8892a4a14e66b98b0b2.

Before I spend more time polishing the implementation, could you let me know 
whether this is the kind of shared infrastructure you had in mind? If not, 
could you clarify which parts of AMDGPUSplitModule.cpp and SplitModule.cpp you 
expect to be moved or shared? That would help me align the next revision with 
your intent.

https://github.com/llvm/llvm-project/pull/198702
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to