[all-commits] [llvm/llvm-project] 474bbc: [Support] Enable CRTP for GraphWriter (NFC) (#152322)

Naveen Seth Hanig via All-commits all-commits at lists.llvm.org
Thu Aug 7 03:37:07 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 474bbc17831e45ae855b7385512d97c519c640fb
      https://github.com/llvm/llvm-project/commit/474bbc17831e45ae855b7385512d97c519c640fb
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-08-07 (Thu, 07 Aug 2025)

  Changed paths:
    M llvm/include/llvm/Support/GraphWriter.h

  Log Message:
  -----------
  [Support] Enable CRTP for GraphWriter (NFC) (#152322)

Previously, specializing the GraphWriter class required a full class
specialization.
This change introduces CRTP for GraphWriter, allowing for partial
specialization.

This change is in support of printing the module dependency graph as
part of the RFC for driver-managed module builds, for which we want to
print the graph nodes in a more human-readable format by:
- Printing descriptive IDs instead of pointer addresses as node labels.
- Printing the full node labels separately from the node relations to
avoid clutter.

With this approach, only GraphWriter::writeNodes() needs to be
specialized (, aside from DOTGraphTraits).

RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list