[all-commits] [llvm/llvm-project] b0440c: [CycleInfo] Reference cycles by preorder index, no...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Jul 17 18:28:22 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b0440cb55a22e979e81934e0c031c9d46e71f9da
      https://github.com/llvm/llvm-project/commit/b0440cb55a22e979e81934e0c031c9d46e71f9da
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h

  Log Message:
  -----------
  [CycleInfo] Reference cycles by preorder index, not pointer. NFC (#210271)

The block-to-innermost-cycle map (BlockMap) and each cycle's parent link
hold a GenericCycle pointer. Store the cycle's preorder index instead,
so no raw cycle pointer remains in the stored representation: BlockMap
becomes a SmallVector<unsigned>, four bytes per block rather than eight,
and the parent link becomes ParentIndex.

The flat Cycles array does not exist during construction, so both hold
creation-order indices into the temporary forest until flatten()
resolves them to preorder indices.

Aided by Claude Opus 4.8



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