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